我有一個小程序,它基於我發送到例程的數據集(它被稱爲CreateAdXML()),以編程方式構建駐留在內存中的XML文件。如何以及爲什麼要創建一個web服務?
我的朋友說我應該把它變成一個'web服務',但我不太清楚他的意思或怎麼做。有人可以給我一些指針嗎?爲asp.net網站提供現有代碼並將其轉換爲web服務相對容易嗎?
我有一個小程序,它基於我發送到例程的數據集(它被稱爲CreateAdXML()),以編程方式構建駐留在內存中的XML文件。如何以及爲什麼要創建一個web服務?
我的朋友說我應該把它變成一個'web服務',但我不太清楚他的意思或怎麼做。有人可以給我一些指針嗎?爲asp.net網站提供現有代碼並將其轉換爲web服務相對容易嗎?
有許多可能性爲ASP.NET應用程序創建Web服務。這一切都歸結到你真正需要的:
如果需要安全連接,先進的系列化,WSDL支持等等
如果你只揭露了幾個方法:
如果需要通過標準化的接口來公開數據,互操作和帶寬友好的服務(這就是所謂的REST ):
還有很多web服務框架可用於codeplex上,做一些研究,看看是否更適合您的需求。一些衆所周知的是RestSharp和ServiceStack。
我的建議: 從你所描述的,我會用WebMethods只用於測試目的。一旦瞭解了更多關於將使用Web服務的客戶端,請選擇適當的框架之一。
如果您需要公開更多方法,您應該從一開始就考慮使用Web API或WCF,因爲這些是更清潔的Web服務框架。它也會讓你的服務堆棧更容易維護。
-1:ASMX是一項傳統技術,不應該用於新開發。 WCF應該用於Web服務客戶端和服務器的所有新開發。一個暗示:微軟已經在MSDN上退役了[ASMX Forum](http://social.msdn.microsoft.com/Forums/en-US/asmxandxml/threads)。 –
不知道asmx已被官方廢棄,將更新帖子。謝謝。 – CharlesAD
更好,但您是否意識到'WebMethod'意味着ASMX? –
這是相當容易地創建從ASP.NET代碼的Web服務(VB.NET/C#等)
您可以使用下面的鏈接,幫助您瞭解更多關於ASP.NET Web服務。
http://msdn.microsoft.com/en-us/library/t745kdsh(v=vs.90).aspx
像你需要使它成爲一個實用方法,而不是Web服務這聽起來我更多,因爲這將允許所有Web項目的使用此功能,但不一定揭露它超出了你的應用程序的邊界。
如果您堅持將其設爲網絡服務,請閱讀A Beginner's Tutorial for Understanding Windows Communication Foundation (WCF)。
HOW TO: Write a Simple Web Service by Using Visual C# .NET
但是,所有其他的答案也很好。
-1:ASMX是一項傳統技術,不應該用於新開發。 WCF應該用於Web服務客戶端和服務器的所有新開發。一個暗示:微軟已經在MSDN上退役了[ASMX Forum](http://social.msdn.microsoft.com/Forums/en-US/asmxandxml/threads)。 –
那麼,Web服務是一個非常通用的術語。什麼樣的「客戶端」會消費這個Web服務? – CharlesAD
同意。如果沒有客戶端會使用它,那麼你不需要Web服務。如果您需要Web服務,那麼您應該確保使用WCF或者新的ASP.NET Web API。 –