問題タブ [slsvcutil]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
181 参照

c# - Slsvcutil が不完全なプロキシを生成する

Xamarin.ios と互換性のある WCF サービスのプロキシを生成するために、しばらくの間 S​​lsvcutil を使用してきました。私は問題を抱えたことはありませんでした。しかし、今日、プロキシを更新しようとしましたが、結果の契約は不完全でした。

以前は、次のコマンド ラインを使用していました。

"C:\Program Files (x86)\Microsoft SDKs\Silverlight\v5.0\Tools\\SlSvcUtil.exe" http://localhost/Service.svc /out:Service.cs

そして、データ コントラクト サービスを生成します。現在、XmlSerialization 属性のみを含むサービス ファイルが生成されますが、これは明らかに機能しません。

そこで、DataContract のシリアル化を強制するようにコマンド ライン引数を変更しました。

"C:\Program Files (x86)\Microsoft SDKs\Silverlight\v5.0\Tools\\SlSvcUtil.exe" http://localhost/Service.svc /mc /serializer:DataContractSerializer /out:Service.cs

これにより、DataContract のシリアル化が正しく行われますが、私の C# プロキシはすべてのメッセージ コントラクトを完全に省略します (/mc修正する必要があると信じていました)。すべてのメソッド シグネチャは、引数として「オブジェクト」を受け入れます。以前は、すべての引数メンバーを記述する適切な完全なコントラクトでした。

私が見ることができる唯一の違いは、ランタイムのバージョンが変更されたことです...(生成されたプロキシファイルのヘッダーにマークされているように):