2012-04-18 8 views
24

Я использовал MiniProfiler для оценки производительности сайта. Когда я обновлялся с версии с 1.9 до 2.0, он переставал работать. Я изменил пространство имен с MvcMiniProfiler на StackExchange.Profiling. Но когда я загрузить страницу, Скрипач показывает есть 404 ошибки для следующего запроса:MiniProfiler не может найти jquery

GET /local/mini-profiler-resources/jquery.1.7.1.js?v=tNlJPuyuHLy/d5LQjyDuRbWKa0weCpmO3xkO6MH4TtA= HTTP/1.1

Это предотвращает визуализацию результатов на странице.

Чтобы получить версию MiniProfiler 1.9 работать, я должен был иметь следующие записи в файле web.config (как описано в this post):

<system.webServer> 
    <handlers> 
     <add name="UrlRoutingModule1" path="mini-profiler*.js" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" /> 
     <add name="UrlRoutingModule2" path="mini-profiler*.css" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" /> 
     <add name="UrlRoutingModule3" path="mini-profiler*.tmpl" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" /> 
    </handlers> 
    </system.webServer> 

Я попытался получить MiniProfiler 2,0 бежать с включенными в конфигурационный файл и с ними исключенными, ни один из способов не работал.

Это работает на моей машине разработки в IIS Express.

Мое приложение - это приложение WebForms, в котором используется защита форм.

Как это разрешить?

+0

вы можете попробовать с последним от github –

+1

Я попробовал это с последним источником от GitHub и все еще получил проблему. – epotter

+0

Когда я пытаюсь перейти к http: // localhost: 43947/local/mini-profiler-resources/results-index, я получаю 404 ошибки во всех элементах каталога mini-profiler-resources. (includes.js, list.js, list.css, jquery.tmpl.js и list.css) – epotter

ответ

26

Похоже, что это общая проблема, просто добавьте в web.config, и она должна быть тонкой

Running MiniProfiler with runAllManagedModulesForAllRequests set to false

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

Строка добавлена, проблема решена. –

0

Попробуйте перерегистрировать ASP.NET, запустив aspnet_regiis -i из соответствующей папки .NET Framework в каталоге Windows \ Microsoft.NET. У меня были аналогичные проблемы, которые были решены путем перерегистрации обработчиков ASP.NET.

Я думаю, что эта проблема возникла после установки функций статического файла в IIS после установки .NET Framework.

1

Что мне нужно было сделать, так это создать на моем сервере мини-профилировщик, а затем скопировать все файлы из StackExchange.Profiling/UI в него. Не знаю, почему это работает. Я предполагаю, что мне не хватает некоторых настроек сервера, потому что я только должен был сделать это на производственной системе. Все работало отлично с нуля для развития.

0

Я не знаю, о ASP.NET, но в Rails Я решил удалить файлы tmp/miniprofiler. Когда я перезагружаю страницу, она работает.

1

для меня его начала работать, когда я пишу следующий код

protected void Application_EndRequest() 
     { 
      MiniProfiler.Stop(); 
     } 

вместо

protected void Application_End(object sender, EventArgs e) 
     { 
      // Code that runs on application shutdown 
     MiniProfiler.Stop(); 
     } 
0

исправить это я должен был изменить DefaultAppPool от классики до Integrated.

Это устранило проблему.

Также, поскольку я использую MVC4, мне пришлось загрузить источники MiniProfiler и скомпилировать их с библиотеками MVC4.

Смежные вопросы