2012-02-07 14 views
6

Tôi có một ứng dụng web rất đơn giản (asp.net MVC3, .net 4, sử dụng IIS không phải của Visual Studio nhúng máy chủ, Windows 7 64 bit). Khi tôi thay đổi cài đặt trong nhóm ứng dụng cho ứng dụng của mình và đặt 'Bật ứng dụng 32 bit' thành False, chế độ xem của ứng dụng của tôi hiển thị, nhưng không có nội dung tĩnh (Content/Site.css hoặc Scripts/myScript.js) nào hiển thị lên. Thay vào đó, tôi nhận được mã trạng thái 500 trên các yêu cầu đó.Tại sao IIS 7 của tôi từ chối phục vụ lên css hoặc js khi tôi thay đổi 'Kích hoạt ứng dụng 32-bit' thành False

Lỗi HTTP 500.0 - Lỗi máy chủ nội bộ Không thể hiển thị trang vì lỗi máy chủ nội bộ đã xảy ra.

Lý do tôi thay đổi giá trị này là tôi đang cố gắng sử dụng Oracle.DataAccess.dll 64 bit và nếu tôi có giá trị này được đặt thành True, nó sẽ khiến hồ bơi ứng dụng chạy trong chế độ WOW64 và cố gắng tải dll với định dạng sai.

Tôi đã tìm kiếm trực tuyến trong một thời gian và không thể tìm thấy nhiều thông tin về điều này. Tôi đã thử chơi với quyền trên các tập tin, tôi đã cố gắng chạy aspnet_regiis với tất cả các loại cờ. Tôi hết ý tưởng. Tại sao IIS không phục vụ nội dung tĩnh này khi chạy ở chế độ 64bit?

Trả lời

4

Rất có thể là trên thiết lập IIS của bạn, mô-đun chỉ 32 bit được bạn vô tình cài đặt để ngăn toàn bộ ứng dụng web chạy trong mô-đun 64 bit. Đó là nguyên nhân phổ biến của 500 lỗi này.

Không yêu cầu truy tìm sẽ có thể cho bạn biết thêm thông tin trên đó mô-đun đó là,

http://www.iis.net/learn/troubleshoot/using-failed-request-tracing/troubleshooting-failed-requests-using-tracing-in-iis

+0

Cũng sử dụng công cụ tìm kiếm để xem chính xác những gì đang được yêu cầu. – RickAndMSFT

+0

Tôi đã thiết lập theo dõi yêu cầu Không thành công và có vẻ như nó không bắt được lỗi 500. Tôi có thiết lập để bắt 400-550. Tôi thực sự làm việc xung quanh vấn đề của tôi bằng cách lắp ráp Oracle 32 bit. Đề xuất của bạn có thể là nguyên nhân gây ra những gì tôi thấy, nhưng tôi không có thời gian để gỡ lỗi này nữa. Tôi đã học được điều gì đó về Truy tìm yêu cầu không thành công, vì vậy cảm ơn bạn. – Gerfboy

+0

Liên kết bị hỏng, mọi đề xuất? –

1

Phải đặt nhận xét ở đây vì tôi không có đủ điểm để nhận xét.

Bạn đã thử kiểm tra ánh xạ trình xử lý trên trang web của mình chưa.

Dưới Handler Mappings: Kiểm tra xem StaticFile Handler vẫn đăng ký và rằng con đường được gán cho *

Ngoài ra kiểm tra xem nó được kích hoạt.

+0

My StaticFileHandler vẫn đăng ký, và được kích hoạt, và gán cho *. Không có súc sắc ở đây. – Gerfboy

17

Khi tôi có lỗi này là có một vấn đề trong system.webServer \ staticContent trong web.config.

Do sự khác biệt giữa các máy chủ, một loại MIME cụ thể được yêu cầu trên một máy nhưng gây ra lỗi này trên một máy khác.

Không an toàn sẽ bao gồm một cho mỗi bạn có trong web.config để tránh nhận 500 nếu không bắt buộc.

+2

Câu trả lời này phù hợp với tôi. Trong IIS 8, nó có .woff và .mp4 theo mặc định, và web.config của tôi cũng đang cố gắng khai báo các loại mime. Tôi đã xóa loại mime nội dung tĩnh khỏi web.config và bắt đầu làm việc. – Base33

+0

Tôi đã có cùng một vấn đề, bởi vì các định nghĩa trùng lặp cho mp4 trong web.config và machine.config !!! Cảm ơn! – KiNG

+0

Cảm ơn bạn, câu trả lời này giúp tôi tiết kiệm rất nhiều thời gian! – user752746

3

Loại séc đôi được chỉ định chính xác, có thể là do bạn có mục nhập đôi mimetypes cho trang web địa phương web.config và chính máy chủ.

0

Chỉ gặp sự cố này khi bật tính năng bảo mật cửa sổ và truy cập an toàn.

Giải pháp trong trường hợp của tôi là thêm trang web lưu trữ cục bộ vào các trang web nội bộ cục bộ của tôi. Chạy Visual Studio trong chế độ quản trị viên cũng có thể xóa vấn đề.

Internet Settings

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