BeginRequest fires for static files in ASP.NET MVC app

前端 未结 4 1158
庸人自扰
庸人自扰 2021-01-05 23:18

I was under the impression that static files (CSS, images, @font-face files, etc) bypassed ASP.NET completely, and were served directly by IIS.

However, my BeginRe

相关标签:
4条回答
  • 2021-01-05 23:59

    The integrated mode in IIS 7 works differently than it was before.

    You could switch to classic mode if desired.

    Alternatively you can define your custom route handler and do the context initialization there. That way it's only done for specific routes.

    0 讨论(0)
  • 2021-01-06 00:07

    In addition to fixing the issue for your static files, you could use Lazy initialization Lazy<T> for your ObjectContext: http://msdn.microsoft.com/en-us/library/dd997286.aspx

    0 讨论(0)
  • 2021-01-06 00:14

    BeginRequest will be triggered for all requests (including static content) if:

    • You're using Visual Studio's development web server.
    • You've configured IIS to do so.

    Please take a look at: http://forums.asp.net/t/1220664.aspx

    0 讨论(0)
  • 2021-01-06 00:16

    I believe a default ASP.NET MVC site has this set in the web.config.

    <modules runAllManagedModulesForAllRequests="true" />  
    

    This means every .NET module will be loaded for every IIS request. This is required for ASP.NET MVC to handle extension-less routing. It's essentially a wildcard mapping that you would write in IIS that would match everything and route it to ASP.NET that lives in the web.config.

    Read more here, including a way to disable the behavior if you aren't using .NET 4.0. It is nasty, but it's the cleanest solution for sites that can't deal with the overhead of having static files served by asp.net.

    0 讨论(0)
提交回复
热议问题