2009-07-13 43 views
11

Ứng dụng ASP.NET MVC của tôi nằm trong một thư mục có tên là Stuff trong thư mục webroot IIS 6.0. Vì vậy, tôi truy cập các trang của tôi dưới dạng http://localhost/Stuff/Posts. Tôi đã có EMLAH làm việc trong khi tôi đã sử dụng máy chủ web trong xây dựng của Visual Studio. Bây giờ khi tôi truy cập http://localhost/Stuff/elmah.axd, tôi nhận được lỗi không tìm thấy tài nguyên. Bất cứ ai có thể chỉ sai lầm của tôi ở đây! Đây là mục nhập tệp cấu hình,Lỗi "Không tìm thấy tài nguyên" khi truy cập elmah.axd trong dự án ASP.NET MVC

<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah"/> //Handler 
    <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah"/> 
    <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/> 
    <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah"/> //Module 
+0

"phần system.webserver mới trong web.config" chỉ dành cho IIS7.0 nhưng trong câu hỏi bạn đang hỏi về IIS6.0. Phiên bản IIS chính xác bạn đang sử dụng là gì? –

Trả lời

0

Bạn có thể đăng phần còn lại của web.config không?

Hoặc, nếu bạn cảm thấy đủ thoải mái, bạn có thể đảm bảo rằng các phần httpHandlers và httpModules (NOT handlers and modules) được điền đầy đủ trong web.config không?

+1

Xin cảm ơn các bạn, Thực ra, tôi phải thêm các mục nhập vào hệ thống mới.phần máy chủ web trong tệp web.config cũng vậy. – theraneman

+0

Làm việc cho tôi. Tại sao bạn không đăng bài này như là giải pháp. – Martin

5

Bạn đã thêm một tuyến * .axd bỏ qua trong global.asax chưa?

15

Làm việc với IIS7 Tôi thấy mình cần cả hai phần của số web.config được điền (system.web AND system.webServer) - xem Elmah not working with asp.net site.

Có lẽ điều này có liên quan.

2

Đối với Elmah, chúng ta cần phân biệt hai thứ: Đầu tiên các mô-đun http thực hiện tất cả công việc ghi lỗi, gửi email ... vv. Thứ hai, trình xử lý http, hiển thị trang nhật ký lỗi và các trang khác (rss ... vv.)

Tôi gặp vấn đề tương tự với 404 tài nguyên không tìm thấy vì tôi có thiết lập lạ! trên máy phát triển của tôi, (windows 7, iis 7) elmah đã hoạt động như một sự quyến rũ vì hồ bơi ứng dụng đang hoạt động ở chế độ đường ống tích hợp. Tuy nhiên, trong máy sản xuất, ứng dụng đang sử dụng đường ống được quản lý và tôi đã cố gắng hết sức để thực hiện công việc elmah nhưng tất cả đều vô ích ...

Sau đó tôi có ý tưởng hiển thị giao diện người dùng (trang nhật ký lỗi, rss, chi tiết lỗi, ...) sử dụng các trang aspx thông thường. Tôi đã tải xuống mã nguồn, thực hiện một số thay đổi (xin lỗi Atif, tôi đã buộc phải làm điều này vì tôi cần giải pháp nhanh nhất) và sau đó trong ứng dụng của mình, tôi đã tạo một thư mục theo đó tôi tạo các trang aspx thông thường kế thừa từ các trang được xác định Elmah . Các trang chỉ chứa một dòng (ví dụ: cho trang chi tiết: <% @ Page Language = "C#" Inherits = "Elmah.ErrorDetailPage" %>)

Bây giờ, tôi đã có thể chạy ELMAH bất kể IIS 6/7 và nó đang làm việc như một nét duyên dáng .. và Nó đã cứu tôi khỏi một nhức đầu lớn của cấu hình chính xác các trình xử lý http và khắc phục sự cố công việc của nó! Ngoài ra, cấu hình bảo mật đơn giản hơn nhiều!

Tôi không biết liệu cộng đồng có quan tâm đến giải pháp này hay không (Nếu vậy, tôi sẵn sàng đăng thay đổi đầy đủ của tôi).

Hy vọng rằng điều này sẽ cho bạn một ý tưởng về cách giải quyết vấn đề một cách thay thế (và nếu bạn cần dll sửa đổi với hướng dẫn đầy đủ về cách sử dụng nó, chỉ cần cho tôi biết!)

1

Trong ứng dụng cài đặt nhóm trong IIS đặt Managed Pipelin Mode thành Classic nếu bạn không muốn thay đổi mã hoặc tệp web.config. axd.s của bạn sau đó sẽ hoạt động như trước.

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