2011-08-22 56 views
0

我從一個繼承自列表的MemberCollection類中有一個非常簡單的方法GetMembers(),此方法直接從選定數據庫返回一個成員列表,並且當前位於類庫中。在webservice中使用現有的業務邏輯

我想有一個web服務,它將坐在現場服務器上,並可以利用這個業務邏輯類庫調用這個現有的方法,並返回一個MemberCollection對象,然後我可以使用WinForms應用程序。

我目前正在努力使這項工作,因爲它似乎是返回成員對象(成員[])的數組而不是實際的MemberCollection對象,並且所有類型都是錯誤的。

我希望這是有道理的。

回答

0

在SOAP webservices的情況下,列表將在從服務返回時轉換爲數組。你可以編寫一個包裝器來將它們轉換爲列表。 或者你可以使用WCF來配置它返回System.Collections.Generic.List

+0

你能提供一個這樣的例子,我希望在兩邊都使用相同的BL,所以很容易使用該對象,並保持代碼維護或我看着這個錯誤? – Coesy

+0

請參考http://stackoverflow.com/questions/2171457/how-to-config-webservice-to-return-arraylist-instead-of-array和http://stackoverflow.com/questions/2525463/why-does -my-wcf-service-return-and-array-instead-of-list -t線程。 – Aravind

0

您可能需要在MemberCollection類定義上使用CollectionDataContract屬性。有關更多信息,請參閱here

另外 - 你的類需要可序列化。您可能需要從課程中刪除數據訪問代碼才能通過網絡發送。