2009-10-26 41 views
6

Tôi đang phát triển trang web ASP.NET MVC trên máy Windows Server 2008/IIS7 cục bộ và tôi hiện đang cố gắng triển khai nó đến nhà cung cấp máy chủ web của tôi, ASPnix. Tôi đang sử dụng dịch vụ Web Hosting chia sẻ của họ và đã được đặt trên một máy chủ IIS7 mà họ yêu cầu hỗ trợ ASP.NET MVC.Lỗi máy chủ nội bộ do khóa cấu hình khi triển khai ứng dụng ASP.NET MVC của tôi cho máy chủ web của tôi

Tuy nhiên, khi tôi triển khai ứng dụng lên đến máy chủ của mình, tôi nhận được "Lỗi máy chủ nội bộ".

Đây là Lỗi Tóm tắt:

HTTP Error 500.19 - Internal Server Error

The requested page cannot be accessed because the related configuration data for the page is invalid.

Sau đây là các phần có liên quan của Chi tiết Lỗi Thông tin:

Module: IIS Web Core

Notification: BeginRequest

Handler: Not yet determined

Error Code: 0x80070021

Config Error: This configuration section cannot be used at this path. This happens when the section is locked at a parent level. Locking is either by default (overrideModeDefault="Deny"), or set explicitly by a location tag with overrideMode="Deny" or the legacy allowOverride="false".

Config Nguồn trông như thế này:

144:  </modules> 
145:  <handlers> 
146:   <remove name="WebServiceHandlerFactory-Integrated"/> 

Lỗi xuất phát từ thực tế là tôi có phần .webServer trong tệp web.config của tôi có phần xử lý con. Phần system.webServer là phần cấu hình chính xác được đặt xuống theo mặc định khi lần đầu tiên tôi tạo trang ASP.NET MVC trong Visual Studio. Nó có những nhận xét XML sau trên nó:

<!-- 
The system.webServer section is required for running ASP.NET AJAX under Internet 
Information Services 7.0. It is not necessary for previous version of IIS. 
--> 

Tôi lấy xử lý phần con ra, và lỗi 500 sẽ biến mất. Tất nhiên, phần đó là cần thiết cho một ứng dụng ASP.NET MVC để hoạt động đúng trong IIS7, vì vậy chỉ cần lấy nó chỉ tạo ra các lỗi khác (lỗi 404 trong trường hợp này vì định tuyến không hoạt động).

Các kỹ sư hỗ trợ tại ASPnix cho rằng ASP.NET MVC được cài đặt và cấu hình đúng trong IIS7 trên máy chủ của họ. Tôi không nói rằng tôi không tin họ vì đây là trang ASP.NET MVC đầu tiên mà tôi đã xây dựng và triển khai. Tuy nhiên, tôi không thể nghĩ bất cứ điều gì tôi có thể làm để làm cho công việc này vì nó dường như là một vấn đề cấu hình ở một mức độ mà tôi không có quyền truy cập vào.

Sự cố này có vẻ như là vấn đề thường gặp với những người cố gắng triển khai ASP.NET MVC cho nhà cung cấp dịch vụ lưu trữ. Có bất cứ điều gì chạy vào điều này hoặc với ASPnix hoặc các công ty lưu trữ web khác và hy vọng tìm thấy một giải pháp?

ps

Một điều kỳ lạ. Khi nghiên cứu vấn đề này trên web, tôi thấy nhiều người nói rằng họ phải thiết lập thuộc tính overrideModeDefault các tệp applicationHost.config của IIS7 thành từ "Từ chối" thành "Cho phép". Tuy nhiên, máy chủ phát triển cục bộ của tôi đã được đặt thành "Từ chối" và mọi thứ đều hoạt động tốt. Mặc dù vậy, tôi không có quyền truy cập vào file applicationHost.config anyway trên máy chủ của máy chủ web.

+0

FYI - Tôi chỉ cố gắng tải lên các trang web ASP.NET MVC mà bạn nhận được khi bạn tạo một dự án MVC sạch trong Visual Studio và tôi nhận được lỗi tương tự, vì vậy nó không có gì để làm với cấu hình trang web của tôi. – twistedstream

Trả lời

7

mở Quản lý IIS, Under nút máy chủ chính, chọn Phái đoàn Tính năng mở (trong phần quản lý)

"Handler Mappings" để "Đọc/Viết "thay vì" Chỉ đọc "

Dường như nhà cung cấp dịch vụ lưu trữ của bạn không cần thiết đã khóa IIS.

Tôi đã có thể tạo lại sự cố trên máy chủ IIS 7.5 cục bộ của mình.

Xem this để đặt lại cài đặt chung.

+0

Người đàn ông, đã làm điều đó. Hãy để đây là một mẹo để tất cả các công ty lưu trữ web ra khỏi đó. – twistedstream

+0

Rất vui khi nó hoạt động cho bạn. Xấu hổ trên máy chủ web! – Annagram

+0

Ya, tôi hy vọng ASPnix con số ra rằng họ đang ASP.NET MVC cấu hình trên IIS7 (chế độ tích hợp, không Classic) thực sự không hoạt động. Tôi đã chuyển trang web sang WebHost4Life và nó hoạt động như một sự quyến rũ. Tôi phải nói rằng tôi thực sự thích WebHost4Life. Họ có một tính năng trò chuyện trực tiếp, nơi tôi đã có thể tìm ra bất kỳ vấn đề nhỏ nào mà tôi gặp phải. Tôi rất khuyến khích họ cho bất cứ ai. – twistedstream

0

Liên kết tới http://www.winservermart.com/Howto/HTTP_Error_500_19_IIS_7.aspx không khắc phục được sự cố. "Nhóm đặt lại" tạo ngoại lệ trong web.config cho một miền cụ thể chỉ làm cho trang web hoạt động, nhưng không trả lời cách đặt vĩnh viễn hệ thống. Vì vậy, nó không phải là xấu hổ, bởi vì chúng tôi biết các giải pháp và thiết lập tất cả các thiết lập một cách chính xác. Và quảng cáo ở đây một số máy chủ khác vô nghĩa, chúng tôi có rất nhiều khách hàng đang chạy từ wh4l và mô tả mức độ tuyệt vời của các máy chủ bị quá tải của họ.

-Polk

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