0

私はこのMVCアプリケーションを持っており、次のルーティングを宣言しています。

routes.RouteExistingFiles = false;

routes.IgnoreRoute("Content/{*pathInfo}");
routes.IgnoreRoute("Scripts/{*pathInfo}");

routes.IgnoreRoute("{*alljs}", new { alljs = @".*\.js(/.*)?" });
routes.IgnoreRoute("{*allcss}", new { allcss = @".*\.css(/.*)?" });

Application_BeginRequestアプリケーションをIISに展開しましたが、すべての静的リソースに対しても呼び出されていることがわかります

protected void Application_BeginRequest(object sender, EventArgs e)
{
    Log.Write("Begin request for " + Request.RawUrl)
}

私はこのように設定しようとしましたweb.Config

<system.webServer>
  <validation validateIntegratedModeConfiguration="false" />
  <modules runAllManagedModulesForAllRequests="true" />
      <handlers accessPolicy="Read, Execute, Script">
          <add name="StaticFiles" path="*.js, *.css, *.jpg, *.jpeg, *.gif, *.png" verb="*" type="StaticFileModule" resourceType="Either" requireAccess="None" preCondition="integratedMode" />
      </handlers>
</system.webServer>

残念ながら、成功しませんでした。誰かがこれの手がかりを持っていますか?

4

1 に答える 1

1

Application_BeginRequestは、ルーティングとは何の関係もありません。
すべての管理対象リクエストに対して常に起動します。

MVCリクエストのみを処理する場合は、グローバルアクションフィルターを使用します。

于 2011-11-21T20:11:36.333 に答える