2011-08-24 203 views
1

我有一個WCF服務方法使用自定義數據類型的問題,是我的示例代碼WCF服務合同

[ServiceContract()] 
public class SampleServise : ISampleServise 
{ 
    void object GetSomething(ICustomData objectData) 
    { 
     // Do Something 
    } 
} 

我應ICustomData類的接口做什麼?

由於 阿夫欣

回答

2

WCF是基於消息傳遞,以及消息傳遞是使用XML模式(XSD)建模。因此,WCF可以使用任何可以用XML模式表達的內容。

這也意味着:不支持接口。您需要在WCF服務方法中爲參數使用實際的具體類型。

在你的情況,創建一個具體的類,實現ICustomData,然後使用該類作爲參數類型。

對於一個很好的參考,閱讀MSDN Designing Service Contracts這對於參數規定:

參數和返回值

每個操作都有一個返回值和參數,即使這些 無效。但是,與本地方法不同,您可以將參考 從一個對象傳遞到另一個對象,服務操作不會將 對對象的引用傳遞給對象。相反,他們傳遞對象的副本。

這是因爲在一個參數中使用或返回 值必須是可序列每種類型是顯著;也就是說,必須可以將該類型的對象轉換爲字節流,並從字節流 轉換爲對象。