因此,我正在編寫一個新的WCF服務,當它調用其中一個函數時,它應該返回一個Struct。該結構被保存在共享類中,因爲它在程序的其他區域中使用。WCF服務無法從其他類返回結構?
的結構如下所示(請注意,這是一個VB.Net類中,有些項目是在C#):
<DataContract()>
Public Structure WrapperResults
<DataMember()>
Dim Success As Boolean
<DataMember()>
Dim ErrorMessage As String
End Structure
現在在WCF服務我已成立我有一個簡單測試功能,看起來像這樣:
public class TFXEmailProcessor : Wrapper
{
public MQShared.Functions.WrapperResults CallWrapper(string AppName, string Password, string ConfigXML)
{
MQShared.Functions.WrapperResults results = new MQShared.Functions.WrapperResults();
results.ErrorMessage = "TFX Test";
results.Success = true;
return results;
}
}
而在另一個類我已經加入到我的WCF服務,並試圖把它的引用,如:
Dim myBinding As New BasicHttpBinding()
Dim endpointAddress As New EndpointAddress(WP.MyWrapper(x).WrapperURL)
Dim SR As New WrapperService.WrapperClient(myBinding, endpointAddress)
Dim WrapResults As MQShared.Functions.WrapperResults = SR.CallWrapper(AppName, Password, WP.MyWrapper(x).ConfigXML)
然而,SR.CallWrapper函數被Intellisense突出顯示,並且我得到了錯誤Value of type 'FunctionsWrapperResults' cannot be converted to 'Functions.WrapperResults'
(注意FunctionsWrapperResults中的缺失時段)
有沒有我在這裏丟失的東西?
Dim WrapResults = SR.CallWrapper(AppName, Password, WP.MyWrapper(x).ConfigXML)
試圖實現您的Datacontract以上StructLayout。 –
@Nagu_R嘗試使用StructLayout.Auto但沒有解決問題。 –
我相信,你會創建2套Wrapper結果類,並刪除其中的一個/重命名。如果引用的程序集具有相同的程序集標識,則刪除或替換其中一個文件引用,以便只有一個文件引用。 –