私は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と別のstackoverflowスレッドで参照されていた記事hereを読んでいます。クライアントコードがサービスコードと同じアセンブリを参照していて、そのアセンブリ参照がより前にある場合、クライアント参照コードをではなく、参照先のクラスを使用して作成する必要があります。エンティティアセンブリ。私はこれを試して、それは動作していません。私は、サービスリファレンスを作成するときに、「参照されているすべてのアセンブリの種類を再利用する」ラジオボタンがチェックされていることを確認しました。
私の質問は以下のとおりです。
は、誰も私が間違ってここにやっているかを見ることができますか?エンティティアセンブリの参照が行われた後にサービス参照を作成して、型を再利用する必要はありませんか?
このようにタイプを再利用することはできますか?
アドバイスをいただければ幸いです。ありがとう!