繁体   English   中英

IEnumerable的 <T> 作为WCF方法的返回类型

[英]IEnumerable<T> as return type for WCF methods

如果我定义一个具有字符串和Datetime属性的Test对象,并使用它在WCF中返回IEnumerable(T)集合

[OperationContract]
IEnumerable<Test> GetTestNotes();

从客户端调用服务时,我看到它正在将IEnumerable转换为Test []:

public Test[] GetTestNotes() {
    return base.Channel.GetTestNotes();
} 

我可以获取数据。

问题是:使用IEnumerable(T)接口而不是具体的List(T)有多可靠?

我使用这些WCF服务的客户端不仅在.NET中,而且在JAVA中。

如果使用的是Visual Studio生成的服务引用,则可以选择用于集合的类型。 右键单击“服务引用”下的服务,然后选择“ 配置服务引用…” 您应该看到以下选项:

配置服务参考

但是,这仍然不允许您选择IEnumerable<T> 如果要更严格地控​​制客户端界面的外观,最好的选择是在单独的程序集中定义合同,然后在客户端和服务器上都引用这些程序集。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM