Приложение вызывает Begin_Request для изображений, CSS и JS ASP.NET MVC 3 - PullRequest
0 голосов
/ 22 ноября 2011

У меня есть это приложение MVC, где я объявляю следующие маршруты:

routes.RouteExistingFiles = false;

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

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

Я развернул свое приложение на IIS и вижу, что Application_BeginRequest вызывается также для каждого статического ресурса

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>

К сожалению, безуспешно.У кого-нибудь есть подсказка для этого?

1 Ответ

1 голос
/ 22 ноября 2011

Application_BeginRequest не имеет ничего общего с маршрутизацией.
Он всегда срабатывает для всех управляемых запросов.

Если вы хотите обрабатывать только запросы MVC, используйте глобальный фильтр действий.

...