3

Windows 8 (metro スタイル) アプリケーションで作業しており、そこから ServiceStack によってホストされているサービスを参照したいと考えています。ServiceStack が提供する C# クライアント オブジェクトを使用できない (Windows 8 プロジェクトから DLL を参照できない) ため、svcutil を使用するか、VS 2012 内からサービス参照を追加する必要があると考えました。 、次のエラーが表示されます。

警告 5 カスタム ツールの警告: アドレス 'http://localhost/ServiceStackRD/soap12' のエンドポイント 'WSHttpBinding_ISyncReply' は、Windows ストア アプリと互換性がありません。スキップしています... C:\Development\GridPresenter\GridPresenter\Service References\ServiceReference2\Reference.svcmap 1 1 GridPresenter

エンドポイントが「Windows ストア アプリと互換性がない」原因を知っている人はいますか? もしそうなら、ServiceStack にエンドポイント定義を変更して Windows 8 アプリでうまく動作するように指示するにはどうすればよいですか? ありがとうございました。

4

1 に答える 1

2

SOAP と WSDL は、どの新しいプラットフォームでも醜いソリューションです。適切に機能させるには、可動部分が多すぎる必要があります。

Windows 8 Metro アプリをサポートする C# HTTP クライアントを使用し、ServiceStack の JSON サービスから返された JSON を解析するのが最も抵抗の少ない方法です。ServiceStack.Text でこれらの WebRequest 拡張機能を使用して、 GitHub のサード パーティ API を解析する例を次に示します。

コミュニティは ServiceStack.Text の Windows 8/Metro アプリ ビルドをまだ提供していないため、おそらくそれをサポートする別の JSON シリアライザーを使用する必要があります。

于 2012-10-03T22:16:42.870 に答える