MiniProfiler не может найти jquery

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

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

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

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

  <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, в котором используется защита форм.

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

Ответ 1

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

Запуск MiniProfiler с runAllManagedModulesForAllRequests установлен на false

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

Ответ 2

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

Все работало отлично.

Ответ 3

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

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

вместо

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

Ответ 4

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

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

Ответ 5

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

Ответ 6

Чтобы исправить это, мне пришлось изменить DefaultAppPool от Classic до Integrated.

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

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