2012-03-03 40 views
8

Đã sử dụng Cassini nhưng đã chuyển sang IIS Express. Suy nghĩ ban đầu của tôi là tôi có thể loại bỏ tất cả <system.web> trừ những thứ như:Tại sao IIS Express sử dụng <system.web> chứ không phải <system.webServer>?

<authentication mode="Forms"> 
    <forms loginUrl="/" /> 
</authentication> 

tôi trước customErrors đã được thiết lập như sau:

<customErrors mode="On" defaultRedirect="/ServerError"> 
    <error statusCode="404" redirect="/NotFound" /> 
</customErrors> 

tôi loại bỏ yếu tố customErrors này khi tôi chuyển sang IISExpress. Hiện tại, 404 không còn chuyển hướng đến trang "NotFound" đẹp của tôi nữa.

AppPool được sử dụng cho trang web của tôi là Clr4IntegratedAppPool cho phép tôi biết rằng ứng dụng này không sử dụng Cổ điển.

Tại sao IISExpress lại dựa trên system.web trong khi IIS 7.5 sử dụng system.webServer?

+1

phiên bản Mà của Visual Studio bạn đang sử dụng? [câu hỏi] này (http://stackoverflow.com/questions/3748466/how-to-switch-iis-developer-express-to-classic-mode) có thể hữu ích. – coseguera

+0

2010 trên windows 7 –

+0

đó là thú vị như IIS EXpress được dựa trên codebase IIS7 sử dụng system.webserver –

Trả lời

7

Vâng Tôi đã thử một vài điều khác nhau:

  • Changed existingResponse-PassThrough như đã nêu here

    <httpErrors errorMode="Custom" existingResponse="Replace">

Nope!

  • Set TrySkipIisCustomErrors = false như đã nêu trong bình luận here

Notta!

Tôi đã làm cho nó hoạt động đơn giản bằng cách thay đổi existingResponse thành Replace.

  • Ai biết!

Đây là cách system.webServer trông bây giờ:

<httpErrors errorMode="Custom" existingResponse="Replace"> 
     <remove statusCode="404" subStatusCode="-1" /> 
     <error statusCode="404" path="/NotFound" responseMode="ExecuteURL" /> 
     <remove statusCode="500" subStatusCode="-1" /> 
     <error statusCode="500" path="/ServerError" responseMode="ExecuteURL" /> 
    </httpErrors> 

Tại sao giải pháp này không thực hiện bất kỳ cảm giác

Thay thế - Giá trị này làm cho mô-đun lỗi tùy chỉnh để luôn luôn thay thế thông tin lỗi với văn bản được tạo bởi mô-đun lỗi tùy chỉnh. Nếu hiện tạiResponse được đặt thành "Thay thế", lỗi/ngoại lệ được tạo bởi Asp.Net/WCF được thay thế bằng lỗi IIS7.

http://blogs.iis.net/ksingla/archive/2008/02/18/what-to-expect-from-iis7-custom-error-module.aspx

+1

Đồng ý, điều đó không có ý nghĩa. +1 để gỡ lỗi của bạn! –

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