Không thể nhận bất cứ điều gì ngoại trừ 403 từ trang web .Net 4.5


10

Kịch bản: Cài đặt Clean Server 2008 R2 với Vai trò IIS.

Đã cài đặt Framework 3.5 (Tính năng máy chủ) Đã cài đặt Framework 4.5 RC (Tải xuống MS)

Thực thi

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis.exe -i

(Tôi sẽ sử dụng -irutrên các máy chủ hiện có nhưng đây là bản dựng sạch).

Xuất bản qua Hệ thống tệp (chia sẻ SMB)

Chuyển đổi thư mục thành một ứng dụng bằng Nhóm ứng dụng tích hợp .Net 4.0

Đã dừng / khởi động lại mọi thứ.

Duyệt đến localhost/TestAppkết quả trong 403,14 (Cấm duyệt thư mục)

Bước nào tôi đã bỏ lỡ? Trang web được đề cập là MVC4 và nhắm mục tiêu khung 4.5 RC


Bạn có chắc chắn rằng tài liệu mặc định của bạn nằm trong danh sách tài liệu mặc định?
Brent YAMst

@BrentPabst Là MVC, không có tài liệu mặc định - nó dựa vào việc viết lại URL bởi IIS để xác định bộ điều khiển / hành động nào sẽ thực thi. Nếu đó là thất bại, tôi mong đợi một thông báo lỗi khác. Có cảm giác như phân tích cú pháp Url không được gọi, điều đó thường có nghĩa là .Net không được đăng ký đúng cách trong IIS. Phải nói rằng, nó đã được đăng ký và tôi đã cài đặt các Vai trò IIS thích hợp (thực ra, giờ tôi đã có tất cả các vai trò IIS) nên tôi không chắc chắn cách tốt nhất để chẩn đoán điều này
Basic

xin lỗi, tôi bị mù và bỏ lỡ phần 4.5 MVC. Dù bằng cách nào, tại sao bạn lại đăng ký .NET 4.0 sau khi cài đặt 4.5? Tôi thực sự chưa bao giờ phải đăng ký .NET trên bất kỳ máy chủ web nào vì trình cài đặt sẽ tự động thực hiện. Dù sao, tôi nghĩ rằng bạn đã đăng ký xử lý .NET sai. Tuy nhiên, với 4.5 và MVC, ít nhất bạn sẽ thấy một YSOD nói rằng ASAX toàn cầu không thể được tải.
Brent YAMst

@BrentPabst Trước đây tôi phải có aspnet_regiisnhưng chỉ khi IIS được cài đặt sau .Net (có vẻ hợp lý). Đó không phải là trường hợp ở đây nhưng vì rất nhiều câu trả lời được đề xuất đề cập đến vấn đề này, tôi nghĩ tôi sẽ giải quyết nó. 4.5 thay thế hoàn toàn 4.0. Tôi đồng ý không nhận YSOD là lạ - Như tôi đã nói, có vẻ như nó hoàn toàn không coi nó là một trang .Net
Cơ bản

1
Vui mừng bạn đã làm tất cả ra. Đầu của bạn đã sẵn sàng để nổ tung!
Brent Clausst

Câu trả lời:


21

Tôi đã có một vấn đề tương tự. Chủ đề này /programming/2374957/asp-net-mvc-on-iis-7-5 đã giải quyết nó cho tôi. Về cơ bản hãy thử thêm phần này vào web.config:

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer>

Nếu công việc đó, bạn có thể thử gỡ bỏ nó và cài đặt hotfix này thay vào đó: http://www.microsoft.com/en-us/doad/details.aspx?displaylang=en&id=5272


Cảm ơn bạn, điều đó đã giải quyết nó. Tôi đã đập đầu tôi trong nhiều giờ. Bạn sẽ không tin nỗi đau buồn mà tôi đã nhận được từ văn phòng "anh chàng linux". Trong trường hợp này, tôi nghĩ anh ta có một điểm ...
Cơ bản

1
Cảm ơn bạn! Trong trường hợp của tôi, runAllManagedModulesFor ALLRequests không giúp được gì, nhưng hotfix thì có.
NateTheGreat

Đối với tôi cũng chạy AllManagedModulesFor ALLRequests không giúp được gì, nhưng hotfix đã làm được - cảm ơn vì liên kết
Anil Purswani

Bạn đã cứu ngày của tôi!
labilbe

0

Giao diện người dùng hơi khác một chút trong các phiên bản Windows Server mới hơn. Đây là nơi bạn phải kích hoạt ASP.Net để nó hoạt động trên IIS

Sửa IIS & Asp.net

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.