2013-05-02 28 views
5

Tôi có một dự án ASP.NET MVC chạy hoàn toàn cục bộ. Nó có một số bộ điều khiển kế thừa từ Bộ điều khiển và một số bộ điều khiển kế thừa từ ApiController. Các tuyến đường của tôi dưới đây. Khi tôi chạy dự án thông qua Visual Studio cục bộ, nó hoạt động hoàn hảo. Tôi có thể nhấn tất cả các thiết bị đầu cuối và nhận phản hồi dự kiến. Khi tôi triển khai nó vào một máy chủ đám mây (Windows Server 2008 r2), chỉ có: Các điểm cuối của trình điều khiển hoạt động (các điểm cuối tại/p/{controller}/{action}). Không có điểm cuối nào tại bất kỳ: ApiController hoạt động. Tôi nhận được lỗi sau cho tất cả trong số họ:Điểm cuối MVC WebApi không hoạt động trên sản xuất, nhưng điểm cuối thông thường làm

{"$id":"1","Message":"No HTTP resource was found that matches the request URI 'http://DOMAIN/CONTROLLER'.","MessageDetail":"No type was found that matches the controller named 'CONTROLLER'."} 

tuyến đường của tôi:

Trong RouteConfig.cs:

routes.MapRoute(
      name: "Default", 
      url: "p/{controller}/{action}/{id}", 
      defaults: new { controller = "Home", action = "Redirect", id = UrlParameter.Optional } 
     ); 

Trong WebApiConfig.cs:

config.Routes.MapHttpRoute(
     name: "DefaultApi", 
     routeTemplate: "{controller}", 
     defaults: new { } 
    ); 
+0

Các tuyến đường có thể bị lẫn lộn vì bạn không sử dụng tiền tố cho bộ điều khiển Web Api. Tôi đề nghị bạn hãy thử hoặc với một tiền tố trong Web Api như dự án mặc định, nơi routeTemplate: "api/{controller}" hoặc vô hiệu hóa các tuyến đường MVC và thử Web Api một mình. – tucaz

+0

đã thử cả hai, không hoạt động – carlbenson

+0

Bạn đã cài đặt Elmah chưa? Bạn có thấy bất kỳ lỗi nào không? –

Trả lời

0

tôi sao chép mã cho một dự án webapi mới và nó hoạt động. Nó phải có một số loại vấn đề cấu hình với các dự án cũ hơn là một phụ thuộc mất tích trên máy ảo, nhưng tôi vẫn không biết nguyên nhân thực sự là.

+1

Bạn không thể phân biệt các dự án và xem sự khác biệt là gì? – Pete

+0

khác các dự án sẽ thực sự thú vị. xin vui lòng –

0

Có một số câu hỏi liên quan đến điều này trước đây và câu trả lời là như nhau, tạo ra một dự án API mới nhưng vấn đề thực tế chỉ có một số nguyên nhân có thể, HTTP 404 Page Not Found in Web Api hosted in IIS 7.5

Be tuyệt vời để có được một diff của dự án.

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