在Web服务中使用现有业务逻辑

时间:2011-08-22 05:47:26

标签: c# winforms web-services asmx

我在一个继承自list的类MemberCollection中有一个非常简单的方法GetMembers(),该方法直接从所选数据库返回一个成员列表,并且当前位于一个类库中。

我希望有一个web服务,它将位于实时服务器上,并且可以利用这个业务逻辑类库来调用这个现有方法,并返回一个MemberCollection对象,然后我可以在winforms应用程序上使用它。

我目前正在努力使这项工作,因为它似乎返回成员对象(member [])的数组而不是实际的MemberCollection对象,并且所有类型都是错误的。

我希望这是有道理的。

2 个答案:

答案 0 :(得分:0)

您可能需要在MemberCollection类定义中使用 CollectionDataContract 属性。有关详细信息,请参阅here

此外 - 您的类需要可序列化。您可能需要从类中删除数据访问代码才能通过网络发送。

答案 1 :(得分:0)

在SOAP webservices的情况下,列表将在从服务返回时转换为数组。您可以编写一个包装器来将它们转换为列表。 或者您可以使用WCF将其配置为返回System.Collections.Generic.List