2008-09-02 73 views
9

是否可以使用ASP.NET 2.0創建REST Web服務?我發現的文章和博客條目似乎都表明,使用ASP.NET創建REST Web服務需要具有WCF的ASP.NET 3.5。可能使用ASP.NET 2.0創建REST Web服務

如果可以在ASP.NET 2.0中創建REST Web服務,可以提供一個示例。

謝謝!

回答

5

我實際上已經用asp.net 2.0創建了一個REST Web服務。它與創建網頁沒有什麼不同。

當我這樣做時,我真的沒有太多時間研究如何使用asmx文件進行操作,因此我在標準aspx文件中完成了該操作。我知道他們這樣做是額外的開銷,但作爲第一次修訂它很好。

protected void PageLoad(object sender, EventArgs e) 
{ 
    using (XmlWriter xm = XmlWriter.Create(Response.OutputStream, GetXmlSettings())) 
    { 
     //do your stuff 
     xm.Flush(); 
    } 
} 

    /// <summary> 
    /// Create Xml Settings object to properly format the output of the xml doc. 
    /// </summary> 
    private static XmlWriterSettings GetXmlSettings() 
    { 
     XmlWriterSettings xmlSettings = new XmlWriterSettings(); 
     xmlSettings.Indent = true; 
     xmlSettings.IndentChars = " "; 
     return xmlSettings; 
    } 

這應該足以讓你開始,我會嘗試後發更多。

此外,如果您需要Web服務的基本身份驗證,則可以完成,但如果您未使用活動目錄,則需要手動完成。

0

我只是剛開始使用它們,但從我見過的2.0漂亮的假設SOAP。

1

您當然可以在ASP.NET 2.0中爲example創建RESTful Web服務,但是沒有高級API可以爲您做所有的驢工作,如WCF在.NET 3.5中提供的。

1

那麼,你當然可以自己實現規範。只是沒有什麼內置的支持它。如果您使用Nathan Lee的解決方案,請將其作爲http處理程序(.ashx)而不是aspx。您可以將他的代碼複製/粘貼到新的處理程序文件中。

1

通過使用IHTTPHandlers實現規範,您可以輕鬆地完成RESTful Web服務。

2

絕對可以使用ASP.NET創建RESTful Web服務。如果您正在開始一個新項目,我肯定會考慮使用WCF創建RESTful Web服務。 3.5 .NET Framework允許您指定RESTful端點以及常規的舊SOAP端點,並仍然提供相同的服務。

你真正需要做的是使調用出來<webHttp />

下面是創建使用WCF RESTful Web服務的好一系列的endpointbehavior:

http://blogs.msdn.com/bags/archive/2008/08/05/rest-in-wcf-blog-series-index.aspx

0

您可以創建RESTful服務

1 )WCF REST服務 2)ASP.NET Web API

如果大家都關心RESTful服務,ASP。NET網絡API是你應該去的。但是,如果您需要支持SOAP webservice和RESTful的服務,那麼WCF REST將是一個不錯的選擇。

有一些文章討論關於一個與另一個。這article可能會有所幫助。