2011-09-30 67 views
0

我聽到一些人說,將DataSet作爲WCF方法的返回類型返回不是一種好的做法。如果我使用DataSet作爲我的方法的返回類型,會出現什麼問題?使用對象列表而不是DataSet的優點是什麼?爲什麼我應該使用Object而不是DataSet作爲我的WCF方法的返回類型?

發送狀態對象(ID,StateCode,StateName)或DataSet的列表?

一位朋友告訴我,將DataSet作爲返回類型有優勢。如果明天的客戶說(假設我發佈了服務,並且一些外部客戶正在使用該服務),我的客戶說我想了解更多關於該對象的信息(例如:需要關於該州的「註釋」字段),但我沒有需要更改我的合同的簽名。我只是將筆記添加到我的數據集中。這不會破壞任何現有的合同。

我聽說有性能問題,如果我使用數據集?這種影響有多大?還有什麼其他問題?爲什麼人們寫DataSet是邪惡的?

試圖通過切換到良好的編碼實踐來發展成爲一名優秀的開發人員。

+0

我相信這個網站是一個很好的學習東西的來源。我很驚訝地看到這個問題已經結束。我問了一個問題,知道我應該使用哪種編碼練習。我相信這個網站的全部想法是分享信息,並引導人們成爲更好的程序員。我真的希望不要關閉這個問題,如果有些機構可以給出正確的答案。我真的不明白爲什麼這個問題不能得到類型「事實」或「特定經驗」的答案!我一直在尋找「具體的專業知識來糾正自己,我是新手! – Shyju

回答

1

數據集泄漏平臺詳細信息。數據集是微軟的實現,當你通過一個服務公開它時,那些使用相同平臺的客戶端只能使用該服務。這基本上使您的服務僅在針對整個服務點的微軟平臺上消耗殆盡。其他的事情是,當序列化數據集包含大量的無關數據的客戶端,如數據信息等。

而關於你的「註釋」的例子,邊界應該是明確的,當你定義一個服務。因此,外部世界必須知道您通過服務及其結構發送的數據類型。

相關問題