2012-05-28 42 views
15

Có ai có kinh nghiệm sử dụng dự án ASP.NET MVC làm dịch vụ Web không?Sử dụng ASP.NET MVC làm dịch vụ Web

tức là sử dụng ASP.NET MVC không có Chế độ xem, vì vậy các ứng dụng khác có thể sử dụng URL để NHẬN hoặc BÀI ĐĂNG cho các hành động trong Bộ điều khiển.

Có ai đã sử dụng không? Nếu vậy, có bất kỳ hạn chế nào khi không sử dụng dự án Dịch vụ Web thay thế không?

Cảm ơn tất cả mọi người trước!

+0

Xem http://stackoverflow.com/questions/40692/possible-to-create-rest-web-service-with-asp-net-2-0 http://stackoverflow.com/questions/3499514/wcf-rest-service-or-asp-net-mvc-controllers-actions http://stackoverflow.com/questions/90451/why-would-one-use- phần còn lại của dịch vụ web – Daveo

Trả lời

8

Nó thực sự phụ thuộc vào loại ứng dụng bạn đang viết. Tôi thực sự cho rằng nghịch đảo của vị trí của LukLed - các dịch vụ dựa trên SOAP phù hợp hơn cho các khách hàng nội bộ khi bạn muốn hỗ trợ những thứ như Windows Authentication, hoặc các giao thức khác như TCP hoặc MSMQ.

Sử dụng phong cách web GET và POST nhiều hơn về các "tài nguyên" cụ thể bắt đầu đưa bạn vào số REST architectural style. Kỹ thuật này có một vài lợi thế rõ rệt với tôi:

  • Câu trả lời thường là nhỏ hơn, đặc biệt là khi sử dụng các định dạng nhẹ như JSON
  • Bởi vì sự đơn giản của các yêu cầu và phản ứng, điều này làm cho nó dễ dàng hơn để sử dụng trong ví dụ: Twitter's API)
  • Dịch vụ bạn tạo có thể tự mô tả và có thể khám phá, vì bạn có thể liên kết đến các phần khác của API giống như các trang web thông thường.

Một bài viết đặc biệt giúp tôi hiểu sự cân bằng ở đây là của Martin Fowler "Steps Toward the Glory of REST." Điều đó đang được nói, có thể hoặc không phù hợp với ứng dụng của bạn.

Nếu bạn chọn xây dựng một dịch vụ dựa trên REST hơn, hãy cân nhắc sử dụng ASP.NET Web API được tích hợp vào MVC4 như những người khác đã đề cập. Nó hiện đang trong giai đoạn thử nghiệm, nhưng Microsoft cảm thấy đủ tốt về nó để cung cấp cho nó một giấy phép hoạt động.

UPDATE:

Kể từ ASP.NET lõi, ASP.NET web API đã được tích hợp vào dự án MVC 6. https://wildermuth.com/2016/05/10/Writing-API-Controllers-in-ASP-NET-MVC-6

8

Nếu bạn muốn sử dụng các cuộc gọi GET và POST đơn giản, MVC sẽ là lựa chọn tốt. ASP.NET MVC 4 sẽ hỗ trợ tạo các API dựa trên HTTP. Bạn có thể đọc về nó tại đây: http://www.asp.net/web-api

Dịch vụ web được tạo trong dự án Dịch vụ web có thể dễ dàng tiêu thụ hơn, vì nó có thể tạo tệp WSDL, có thể dễ dàng đọc và sử dụng bằng nhiều ngôn ngữ khác nhau (bằng cách sử dụng giao thức SOAP). Mặt khác, WS có thể tạo ra các phản hồi XML lớn, có thể nhỏ hơn nhiều lần, nếu bạn sử dụng định dạng của riêng bạn.

Nếu bạn muốn quảng bá dịch vụ web của mình trên toàn thế giới, hãy cho phép SOAP giúp cuộc sống của bạn dễ dàng hơn đối với nhiều nhà phát triển. SOAP có thể được sử dụng bởi những người, hầu như không có ý tưởng về lập trình. Nếu bạn sử dụng nó trong nội bộ, thích tốc độ và các yêu cầu và phản hồi đơn giản, bạn có thể sử dụng MVC.

2

ASP.NET MVC mới bao gồm Web Api Kit, có thể thực hiện chính xác những gì bạn muốn. Với phiên bản hiện tại, bạn vẫn có thể sử dụng nó. Không có bất kỳ hạn chế thực sự nào cho nó

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