1

わかりました、これはちょっと複雑な状況なので、私がやろうとしていることをレイアウトすることから始めましょう.

DataContractFormat を使用して要求を JSON としてシリアル化する WCF Web サービスがあります。Web サービスのクライアントの 1 つは、私の wsdl を使用して参照ファイルを生成し、彼の側で SOAP エンドポイントを使用して呼び出しを行ったり来たりします。これまでのところ、SOAP と REST/JSON リクエストのサポートを提供できたため、これはうまく機能しています。

現在のプロジェクトでは、web サービスを wsdl で公開する RSA のメソッドを含める必要がありました。したがって、基本的にそれらへの SOAP 呼び出しを行い、最後に参照ファイルを生成してから、Web サービスで生成されたクラスとメソッドを使用します。

私たちが得ている問題は、RSA のすべてのクラスに含まれている IPropertyChangedEventHandler をシリアル化できないことに関連して、クライアントでビルド エラーが発生していることです。問題は、RSA のクラスがすべて System.Xml.Serialization メソッドを使用して定義されており、Web サービスが XMLSerializerFormat の代わりに DataContractFormat を使用するように作成されているため、クラスをシリアル化する方法がわからないことです。DataContract を使用して参照ファイルを完全に書き換えずに、これを回避するにはどうすればよいですか? それとも、私が見落としている可能性のある何かが他にあるのでしょうか?

詳細が必要な場合はお知らせください。

4

1 に答える 1

1

同僚は、メソッドに PropertyChangeEventHandler を使用せずに RSA wsdl を生成する方法を理解することができました。Service Referenceフォルダーの下にあるsvcmapファイルを変更することで、PropertyChangedなしで参照ファイルを生成することができました

<EnableDataBinding>false</EnableDataBinding>

これを変更した後、サービス参照を更新したところ、すべての PropertyChanged がなくなり、ビルド エラーが発生しなくなりました。

于 2013-02-07T04:22:36.737 に答える