2012-04-18 33 views
24

Tôi đã sử dụng MiniProfiler để đo hiệu suất trang web. Khi tôi nâng cấp từ phiên bản 1.9 lên 2.0, nó ngừng hoạt động. Tôi đã thay đổi không gian tên từ MvcMiniProfiler thành StackExchange.Profiling. Nhưng khi tôi tải một trang, cáy cho thấy có một lỗi 404 cho các yêu cầu sau:MiniProfiler không thể tìm thấy jquery

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

Điều này ngăn không cho kết quả hiển thị trong trang.

Để có được phiên bản 1.9 của MiniProfiler để làm việc, tôi đã phải có các mục sau trong file Web.Config (như mô tả trong 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> 

Tôi đã cố gắng để có được MiniProfiler 2.0 để chạy với những người được bao gồm trong tập tin cấu hình và với họ bị loại trừ, không phải cách làm việc.

Điều này đang chạy trên máy phát triển của tôi trong IIS Express.

Ứng dụng của tôi là ứng dụng WebForms sử dụng bảo mật Biểu mẫu.

Làm cách nào để giải quyết vấn đề này?

+0

bạn có thể thử với phiên bản mới nhất từ ​​github –

+1

Tôi đã thử nó với nguồn mới nhất từ ​​GitHub và vẫn gặp sự cố. – epotter

+0

Khi tôi cố gắng duyệt đến http: // localhost: 43947/local/mini-profiler-resources/results-index, tôi nhận được lỗi 404 trên tất cả các mục trong thư mục tài nguyên mini-profiler. (bao gồm.js, list.js, list.css, jquery.tmpl.js và list.css) – epotter

Trả lời

26

Dường như đây là một vấn đề phổ biến, chỉ cần thêm video này vào web.config và nó nên được tốt

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

Dòng được thêm vào, đã giải quyết được sự cố. –

0

Hãy thử đăng ký lại ASP.NET bằng cách chạy aspnet_regiis -i từ thư mục .NET Framework thích hợp trong thư mục Windows \ Microsoft.NET của bạn. Tôi đã có những vấn đề tương tự đã được giải quyết bằng cách đăng ký lại các trình xử lý ASP.NET.

Tôi nghĩ rằng tôi đã gặp sự cố này sau khi cài đặt chức năng Cung cấp tệp tĩnh trong IIS sau khi cài đặt Khuôn khổ .NET.

1

Những gì tôi đã kết thúc phải làm là tạo một thư mục gọi mini-profiler-resources trên máy chủ của tôi và sau đó sao chép tất cả các tệp từ StackExchange.Profiling/UI vào đó. Không chắc chắn tại sao điều này hoạt động mặc dù. Tôi đoán tôi đang thiếu một số thiết lập máy chủ, bởi vì tôi chỉ phải làm điều này trên hệ thống sản xuất. Tất cả mọi thứ đã làm việc tốt ra khỏi hộp để phát triển.

0

Tôi không biết về ASP.NET nhưng trong Rails Tôi giải quyết nó xóa các tập tin tmp/miniprofiler. Khi tôi tải lại trang nó hoạt động.

1

cho tôi bắt đầu của nó làm việc khi tôi viết mã sau

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

thay vì

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

Để Fix này tôi đã phải thay đổi DefaultAppPool từ cổ điển đến tích hợp.

Điều này đã khắc phục được sự cố.

Cũng vì tôi đang sử dụng MVC4, tôi phải tải xuống các nguồn của MiniProfiler và biên dịch chúng với thư viện MVC4.

Các vấn đề liên quan