5

ASP.NETアプリが2つ、WebFormsが1つ、MVCが1つあります。Combresは、IIS Expressでローカルに作業している間、両方で見事に機能しました。両方のアプリをテストサーバーに展開した後(IIS 7、両方のアプリはIISの同じWebサイトにあります)、WebFormsアプリのページで参照されているcombres.axdリンクは404を返しますが、MVCアプリは正常に機能します。

WebFormsアプリをローカルIISにも接続しましたが、これも正常に機能しました。

ローカルIIS、MVCアプリ、およびWebFormsアプリ間のモジュールとハンドラーを確認しましたが、ルーティング登録は同じように見えます。

defaultDebugEnabled = "true"を設定すると、リソースセット内の各スクリプトのスクリプトタグが生成され、正常に機能します。

combres.axdから404をデバッグする方法はありますか?

4

1 に答える 1

3

web.configのモジュール構成まで追跡しました。

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>

.NET 3.0 / 3.5を中心に作成されたレガシーWebFormsアプリを使用しているため、runAllManagedModulesForAllRequests属性が設定されていませんでした。最新のVisualStudio2010 ASP.NET WebFormsテンプレートに表示されますが、これがデフォルトになりました。

また、UrlRoutingModuleにcombres.axdルートをキャッチさせるための力ずくの方法を提案する投稿を見つけました。

<system.webServer>
    <modules>
        <remove name="UrlRoutingModule-4.0" />
        <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
    </modules>
</system.webServer>

コメントの1つはこの更新について言及しましたが、私はまだそれをテストしていません:

http://support.microsoft.com/kb/980368

于 2011-10-04T17:56:17.950 に答える