2012-03-08 26 views
11

Tôi đang cố gắng để có được ASP.Net MVC 4 làm việc trên IIS6 và đang chạy vào danh sách liệt kê thư bị từ chối luôn luôn vui vẻ.Danh sách thư mục bị từ chối trên ASP.Net MVC 4 ứng dụng đang chạy trong IIS 6 Virtual Directory

Trước khi bạn bắt đầu đăng bài về url extensionless và làm thế nào tôi cần phải đọc các bài viết trên blog Haacked .. Tôi có :) Vì vậy, với điều đó ra khỏi con đường ở đây là thiết lập:

tôi đã tạo ra một trang web mới và cấu hình nó để sử dụng ASP.Net 4.0. Tôi đã phải làm điều này bởi vì các trang web mặc định hiện tại được cấu hình cho ASP.Net 2.0 và điều này phá vỡ url mở rộng. Theo trang web mới, tôi đã tạo một Thư mục ảo với Đọc/Ghi/Ghi nhật ký/Chỉ mục các tùy chọn tài nguyên này được chọn và thực hiện các quyền được đặt thành Tập lệnh.

Tôi đã xác minh rằng ASP.Net v4.0.30319 nằm trong danh sách Tiện ích mở rộng dịch vụ web và được cho phép. Tôi cũng đã xác minh rằng ánh xạ .axd được thiết lập đúng trong cấu hình ánh xạ thư mục ảo của tôi.

Tôi hoàn toàn và hoàn toàn bối rối ..

Là một chút bên đố Tôi có điều này làm việc với các trang web chỉ thẳng vào ứng dụng web ASP.Net 4 của tôi, nhưng chúng tôi cần điều này được thực hiện thông qua một ảo thay vào đó. Thực tế tôi đã làm việc này nên có nghĩa là các thiết lập đăng ký EnableExtensionlessUrl không phải là một vấn đề.

Trả lời

22

tôi đã phải đối mặt với cùng một vấn đề và nó đã xóa khi tôi thêm "bản đồ ứng dụng ký tự đại diện" (.*) để aspnet_isapi.dll với tùy chọn đánh dấu "Xác nhận tập tin đó tồn tại"

Application -> Properties -> Directory -> Configuration -> Mappings -> Insert -> Browse to C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll -> Uncheck "Verify that file exists" -> Ok

Bây giờ trang web được mở tốt mà không có bất kỳ vấn đề nào.

+0

có lẽ là một câu hỏi ngu ngốc, nhưng tôi tiếp tục nhận được 'Đánh dấu mở rộng không hợp lệ' khi tôi để trống trường này. Cũng đã thử các dấu * hoang dã thẻ, nhưng không chấp nhận nó. –

+0

Tôi đã thêm phần mở rộng .mvc và sau đó trên phần mở rộng đó đã thêm bản đồ ứng dụng ký tự đại diện. Mặc dù các tuyến đường của tôi không sử dụng .mvc, điều này là cần thiết để nhập một mục nhập hợp lệ trong hộp Mở rộng trong hộp thoại "Thêm/Chỉnh sửa Tiện ích mở rộng Ứng dụng Mở rộng". – voam

+0

Điều này làm việc cho tôi quá, với một ứng dụng MVC 3. Nhưng tại sao nó hoạt động? Và tôi đã giới thiệu những vấn đề gì khác bằng cách thêm ánh xạ này? – ALEXintlsos

2

vấn đề tương tự: Chúng tôi cài đặt MVC4 trên một hộp IIS6, thiết lập tất cả mọi thứ như mô tả, và nhận được cùng một lỗi:

Directory Listing Denied 
This Virtual Directory does not allow contents to be listed. 

Đối với chúng tôi, việc sửa chữa cuối cùng là thêm UrlRoutingModule để web.config:

<add name="UrlRoutingModule" 
     type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 

Điều này có ý nghĩa, nhưng tôi không biết tại sao chúng tôi cần thêm rõ ràng và những người khác thì không. (Chúng tôi đang chạy trong một thư mục dưới Sharepoint, có thể liên quan ...)

+0

Theo nút nào '' go? – sports

+1

'' –

+0

Cảm ơn Scott, vui lòng xem xét chỉnh sửa câu trả lời gốc của bạn –

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