我正在編寫一個WCF服務和代碼來使用它,我想在這些服務之間共享數據類型。WCF服務共享類型
我有一個WCF庫,其中定義了我想要共享的類型。我的WCF服務和我的WCF客戶端都從庫中引用程序集。類是這樣的:
<DataContract()> _
Public Class MyEntity
Private _culture As String = String.Empty
Private _name As String = String.Empty
<DataMember()> _
Public Property ID As Integer
Get
Return _id
End Get
Set(ByVal Value As Integer)
_id = Value
End Set
End Property
<DataMember()> _
Public Property Name() As String
Get
Return _name
End Get
Set(ByVal Value As String)
_name = Value
End Set
End Property
End Class
我想在我的消費應用程序做的就是創建myEntity所的一個實例,並分配給它的價值在我服務的方法的返回值,當然,返回的實例myEntity所。
所以,當我從我的客戶端添加引用我的服務,並給予服務命名空間名稱「MyWCF」我想是這樣的:
Dim entity as new MyEntity
dim srv as new MyWCF.MyServiceClient
entity = srv.MyMethod()
現在,當我做這個編譯器給我一個錯誤,因爲它不能將類型myclientnamespace.MySCF.Myclass隱式轉換爲myclientnamespace.MyClass。我已閱讀帖子here和文章here - 這是在另一個stackoverflow線程中引用。這些說明如果我的客戶代碼引用的是與我的服務代碼相同的程序集,並且我在之前 創建服務引用客戶端代碼應該而不是創建代理類,而是使用引用中的類實體組裝。我試過這個,它不工作。我甚至確保在創建服務引用時檢查「所有引用程序集中的重用類型」單選按鈕。
我的問題是:
有人能看到我在做什麼錯在這裏?應該在實體程序集引用之後創建服務引用不會導致重用類型?
是否有可能以這種方式重用類型?
任何意見將非常感激。謝謝!