最近、開発エリアの複数の Web サイトを x86 Windows 2003 (IIS6) から x64 Windows 2008 R2 (IIS7) に移行しました。「msdeploy」を使用して移行を行いました。最初はサーバー全体を移行しましたが、問題があったため、IIS 構成からスクリプト マップを除いたものだけを移行することになりました。いくつかの構成変更の後、最終的に統合モードで .NET 3.5 サイト サービス ページを取得することができました。ただし、メイン マスター ページの次のセクションに問題があります。
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true">
<Services>
<asp:ServiceReference Path="~/AjaxServices/FormSubmissionService.asmx" />
<asp:ServiceReference Path="~/AjaxServices/GMapDataService.asmx" />
<asp:ServiceReference Path="~/AjaxServices/ImageGalleryService.asmx" />
<asp:ServiceReference Path="~/AjaxServices/MyFavoritesService.asmx" />
</Services>
これらはそれぞれ、次のようなスクリプト タグを生成します。
<script src="../AjaxServices/FormSubmissionService.asmx/jsdebug" type="text/javascript"></script>
<script src="../AjaxServices/GMapDataService.asmx/jsdebug" type="text/javascript"></script>
<script src="../AjaxServices/ImageGalleryService.asmx/jsdebug" type="text/javascript"></script>
<script src="../AjaxServices/MyFavoritesService.asmx/jsdebug" type="text/javascript"></script>
Web サービスに到達していますが、「jsdebug」にアクセスしようとすると次のエラーが発生します。
System.InvalidOperationException: jsdebug Web Service method name is not valid.
at System.Web.Services.Protocols.HttpServerProtocol.Initialize()
at System.Web.Services.Protocols.ServerProtocol.SetContext(Type type, HttpContext context, HttpRequest request, HttpResponse response)
at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)
- サイトのアプリ プールは v2.0.050727 Integrated です。
- 「32 ビット アプリケーションを有効にする = false」(これを反転しても役に立ちませんでした)。
- このサイトは「任意の CPU」向けに作成されました。
- ローカルの Win7 ボックスの II7 で同じサイトを実行していますが、すべて正常に動作します。唯一の違いは、アプリ プールが「クラシック」モードで実行されていることです。サーバーを「クラシック」モードに切り替えてみましたが、結果は同じでした。
- 設定を試み
debug="false"
ましたが、同じエラーが発生します (/jsdebug ではなく /js を除く) - 何度か走っ
aspnet_regiis -i
ています。2.0 および 4.0 の x64 バージョン - Role Manager を使用して IIS と .NET 3.5.1 を数回再インストールしました
- 各 Web サービス定義ページにアクセスできます
.net 2.0 を再インストール/修復したいのですが、これは WinServer 2008 では不可能のようです。OS を再インストールすることがこれを達成する唯一の方法であると他の場所で読みました。それはオプションではありません。
どこかに設定がありませんか?? どんな助けでも大歓迎です!