0

Hej、私はWCFサービスでhttpBinding / netTcpBindingを使用していますが、いくつかの.NetリモーティングコードをWCFに置き換えようとしています。これは、.NetリモーティングのメソッドをWCFサービス契約に変換するときの最初のテストでした。私は自分のメソッドを文字通り翻訳しました。古いコードは戻り型としてSystem.Messaging.Messageを使用しています。

私のサービス契約:

<OperationContract(Name:="ReceiveWithTimeOut")>
  <TransactionFlow(TransactionFlowOption.Allowed)>
  Function Receive(ByVal TimeOut As TimeSpan) As System.Messaging.Message

すべてがビルドされ、サービスがアップしますが、サービスにアクセスすると、次のエラーが発生します。

System.InvalidOperationException:WSDLエクスポート拡張機能の呼び出しで例外がスローされました:System.ServiceModel.Description.DataContractSerializerOperationBehaviorコントラクト:http://..../ ServiceContracts / 2012 / V1:IReaderContract ----> System.Runtime .Serialization.InvalidDataContractException:タイプ'System.Messaging.MessageQueue'はシリアル化できません。

System.Messaging.Messageを返す方法はありますか?

どうもありがとうございます。

敬具。

ジョナサン

4

1 に答える 1

0

独自のデータコントラクトを作成し、クライアント/サーバーにそのデータコントラクトのプロパティを使用してMSMQメッセージを作成させました。

于 2012-07-26T12:31:01.017 に答える