Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Running MiniProfiler with runAllManagedModulesForAllRequests set to false

Recently we upgraded to MiniProfiler version 2.0.1 from v1.7, and since then we have not been able to use it in our MVC3 website because when it tries to get its resources, it instead gets a 404.

An example resource call is: /mini-profiler-resources/includes.js?v=tNlJPuyuHLy/d5LQjyDuRbWKa0weCpmO3xkO6MH4TtA=

In searching around, most people are suggesting that simply setting runAllManagedModulesForAllRequests should be set to true. For giggles, I went ahead and set it to true, and yes it did work. But that is not an acceptable answer.

How can I keep runAllManagedModulesForAllRequests=false and still use MiniProfiler v2?

like image 660
Adam Spicer Avatar asked Apr 24 '12 19:04

Adam Spicer


1 Answers

I had the same issue - the resources being requested use "static" file extensions (such as .js) and therefore IIS wants to handle them using its static file handler.

Luckily all of the MiniProfiler resources are requested with the path mini-profiler-resources, so you can add the following to your web.config:

<system.webServer>
  ...
  <handlers>
    <add name="MiniProfiler" path="mini-profiler-resources/*" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" />
  </handlers>
</system.webServer>

The entry above instructs IIS that any request for the mini-profiler-resources path to be routed through ASP.NET.

like image 139
David Duffett Avatar answered Oct 27 '22 07:10

David Duffett