簡體   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