2008-10-01 40 views
3

我打算爲使用.Net和SQLServer開發的應用程序編寫web服務aka api。 .Net提供了一種通過創建asmx文件來創建Web服務的簡單方法。但我需要知道如何最好地設計它,或者在.net中創建Web服務的最佳實踐是什麼,或者是一些好文章的指針,因爲這是我在Web服務編程方面的第一次體驗。事實上,SF有很多API的最佳實踐(這是非常好的),我沒有發現很多面向.NET Web服務的信息。.NET Webservices開發方法

更新:dariom的答覆後,我想提一提,我做它在.NET 2.0

回答

4

這並不容易記住所有的最佳實踐擺在那裏,但這裏是我的建議:

  • 避免使用不容易序列化或與WS標準不兼容的數據類型(因此您將無法使用不同語言使用該服務)。最值得注意的是RecordSet和其他僅MS參考類型。
  • 請注意,靜態Web服務(具有[webmethod]的靜態方法)和非靜態(memeber函數)之間存在差異。這可能會影響您的性能和資源使用情況。
  • 設計在Intranet內部運行的.NET Web服務和爲Internet設計的Web服務之間有區別。第二個應該更簡單,因爲線上的XML數據應該小得多。
  • 我猜web服務將部署在IIS服務器上。注意,在Intranet和Internet上運行時身份驗證存在差異。您可能需要使用模擬服務才能執行特定任務。

我想還有很多更好看的文件討論。

+0

KISS - 保持簡單愚蠢 這確實適用於Web服務。 1.有一位客戶在等待結果。 2.有多個客戶想要調用你的寶石代碼。 – 2008-10-01 11:50:14

0

如果您使用.NET 3.0或更高版本,我鼓勵您考慮使用WCF實現您的服務。

學習曲線陡峭,但您將受益於flexibility and features that WCF offers。藉助WCF,您可以使您的服務與ASMX服務(常規.NET Web服務)兼容,以便其他應用程序和其他語言可以像使用常規.NET Web服務一樣使用該服務。

有很多資源可以幫助您入門。嘗試MSDN,Learning WCFProgramming WCF Services

+0

@dariom:我很想,但我堅持使用.net 2.0 – blntechie 2008-10-01 11:42:35

0

有用於.NET ASMX Web服務在這裏一本書的設計模式:http://msdn.microsoft.com/en-us/library/ms978729.aspx

它描述了以下設計模式:

實體聚集 流程集成 門戶集成 數據集成 功能集成 服務Oriented Integration Presentation Integration Message Broker Message Bus 發佈/訂閱 管道和過濾器 網關