我正在编写一个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线程中引用。这些说明如果我的客户代码引用的是与我的服务代码相同的程序集,并且我在之前 创建服务引用客户端代码应该而不是创建代理类,而是使用引用中的类实体组装。我试过这个,它不工作。我甚至确保在创建服务引用时检查“所有引用程序集中的重用类型”单选按钮。
我的问题是:
有人能看到我在做什么错在这里?应该在实体程序集引用之后创建服务引用不会导致重用类型?
是否有可能以这种方式重用类型?
任何意见将非常感激。谢谢!