2009-03-12 24 views
11

Tôi tự hỏi có bao nhiêu người sử dụng ngăn xếp phát triển Microsoft (IIS và/hoặc ASP.NET) đang thực sự sử dụng REST? Nếu vậy, hình thức nghỉ ngơi nào đang được sử dụng?REST trên IIS

REST có thể được phân loại một cách zillion, nhưng đối với mục đích của câu hỏi này tôi sẽ phân loại nó như sau:

  1. Radically REST: Sử dụng tất cả các phương thức HTTP PUT/POST/GET/DELETE
  2. Moderate REST: Sử dụng GET/POST
  3. REST của hybrid: Sử dụng chỉ là GET hoặc phương thức POST HTTP, nhưng sau nguyên tắc RESTful của định địa chỉ và tiểu bang.

Trong một lớp học, tôi đang cố gắng triển khai dịch vụ "triệt để RESTful" trên IIS, nhưng chúng tôi đã gặp khó khăn khi triển khai phương pháp PUT. Có vẻ như không có nhiều buzz về việc thực hiện PUT trên IIS vì vậy tôi tự hỏi có bao nhiêu người đang thực sự sử dụng REST đầy đủ thổi? Bạn đang sử dụng REST?

+0

thực hiện động từ đặt http không âm thanh đặc biệt cắt cạnh. tôi sẽ giả sử nếu bạn thêm một trình xử lý http nó sẽ thấy đặt yêu cầu đến. – tarn

+0

Bạn có biết rằng IIS có ít để làm với ASP.NET những ngày này? Bạn dường như để đánh đồng hai. –

+0

Điểm của câu hỏi của tôi là tôi quan tâm đến những gì mọi người sử dụng công nghệ của Microsoft đang làm. Rephrased để có ý nghĩa hơn. – Jeff

Trả lời

8

Tôi nghĩ rằng một phần lý do cho việc thiếu thông tin xung quanh REST trên ngăn xếp IIS là sự chấp nhận ban đầu của Microsoft về SOAP như cách, sự thật và ánh sáng khi đến dịch vụ web - đặc biệt là với Windows Communication Foundation. tập trung.

Họ tiếp tục phát hành WCF REST Starter Kit, để tiếp tục từ bản phát hành .NET 3.5 và các dịch vụ dữ liệu ADO.NET thuộc .NET 3.5 SP1.

Magnus points out, Microsoft đã phát hành ASP.NET Web API được xây dựng dựa trên các tính năng của nền tảng ASP.NET MVC để cung cấp cách tiếp cận thống nhất cho các dịch vụ RESTful trên IIS.

ASP.NET Web API là một khuôn khổ giúp dễ dàng xây dựng các dịch vụ HTTP tiếp cận nhiều khách hàng, bao gồm trình duyệt và thiết bị di động. ASP.NET Web API là một nền tảng lý tưởng để xây dựng các ứng dụng RESTful trên .NET Framework.

1

Phiên bản IIS nào? Trong IIS6, bạn cần phải kích hoạt WebDAV để kích hoạt các yêu cầu PUSH để có được thông qua (không, tôi không nghĩ rằng có ý nghĩa nhiều hoặc :-)). Tôi không nghĩ rằng đó là trường hợp trong IIS7 mặc dù.

+0

IIS 7 trên máy chủ 2008 – Jeff

+0

theo mặc định IIS 7 từ chối yêu cầu PUT. – Jeff

2

Tôi khá chắc chắn rằng Microsoft ADO.NET Data Services sử dụng dịch vụ RESTful. Nó có thể là giá trị kiểm tra ... ngoài việc được yên tĩnh, đó là một công nghệ thực sự mát mẻ.

Dưới đây là một chiết xuất từ ​​một tờ giấy trắng trên đó:

Mục tiêu của Microsoft ADO.NET Data Services là cho phép các ứng dụng để lộ dữ liệu như một dịch vụ dữ liệu có thể được tiêu thụ bởi khách hàng web trong công ty mạng và trên internet. Một dịch vụ dữ liệu có thể truy cập thông qua các yêu cầu HTTP thông thường, sử dụng các động từ HTTP chuẩn như GET, POST, PUT và DELETE để thực hiện các hoạt động CRUD đối với dịch vụ. Định dạng tải trọng được dịch vụ sử dụng có thể kiểm soát bởi ứng dụng, nhưng tất cả các tùy chọn đều đơn giản, các định dạng mở như JSON và Atom/APP.

Dưới đây là một white paper và nó home page (ít nhất là những gì tôi nghĩ là nó trang nhà)

HTHs, Charles

3

Nó phụ thuộc vào cách bạn tiếp cận nó.

Theo mặc định, IIS sẽ giới hạn động từ sang trang ASP.NET để NHẬN, HEAD, POST và DEBUG. Tất nhiên, bạn có thể tự do nói với nó để chấp nhận PUT bằng cách chỉnh sửa ánh xạ trình xử lý. Giả sử bạn muốn mở rộng riêng của bạn, bạn muốn làm điều gì đó như

<httpHandlers> 
    <add path="*.example" type="System.Web.UI.PageHandlerFactory" verb="GET, HEAD, POST, PUT, DELETE, DEBUG"/> 
</httpHandlers> 

Nếu bạn muốn remap .aspx bạn, tất nhiên, có thể theo cách tương tự, giả sử máy chủ được cấu hình để cho phép bạn/

1

Tôi đang sử dụng lớp .Net, HttpListener, là công cụ máy chủ web IIS (http.sys) không có các công cụ quản trị IIS. Tôi đang xử lý tất cả các động từ HTTP.Bạn có thể thêm đính kèm thời gian chạy ASP.Net này nếu bạn thích, nhưng bạn không cần.

Thực tế trong một vài trường hợp, chúng tôi đã triển khai phiên bản PATCH làm thử nghiệm. Một khi bạn nhận được những điều cơ bản, động từ chỉ đơn giản là một chuỗi trong một trong các tiêu đề HTTP.

Bạn thực sự không thể phân loại REST theo hàng tỷ cách. Có thể có cách sử dụng HTTP để xây dựng các ứng dụng phân tán nhưng chỉ có định nghĩa one về REST.

11

Tôi tham gia vào dự án sử dụng WCF REST trên IIS, nhưng tất nhiên tôi khuyên bạn nên xem xét khung công tác tôi đã tạo: OpenRasta là một chồng nguồn mở .net giúp thực hiện REST nhiều dễ dàng hơn.

Google là bạn của bạn. Trang web chính là http://trac.caffeine-it.com/openrasta.

3

Bộ công cụ nghỉ ngơi WCF được đề cập trong câu trả lời từ "Zhaph - Ben Duguid" hiện không còn được dùng nữa.
Nó hiện đã được thay thế bằng WCF Web API project.

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