0

別のプロジェクトで Silverlight 対応の WCF サービスからデータを取得する Silverlight 5 アプリケーションがあります (私のソリューションには Silverlight プロジェクトと Web プロジェクトがあります)。同様の投稿が多数ありますが、それらは Web サーバーでホストされている Web サービス (適切な Web サービス) について言及しています。

dev と prod の両方でサービスを見つける場所をアプリケーションに指示する必要があることは承知しています。開発では、通常、ポートがあります。(正しい EndpointAddress を使用して) サービス クライアントを作成するための私のコードは次のとおりです。

BasicHttpBinding binding = new BasicHttpBinding(
        Application.Current.Host.Source.Scheme.Equals("https", StringComparison.InvariantCultureIgnoreCase)
        ? BasicHttpSecurityMode.Transport : BasicHttpSecurityMode.None);
binding.MaxReceivedMessageSize = int.MaxValue;
binding.MaxBufferSize = int.MaxValue;
Uri tempUri = new Uri("../PolicyDataService.svc", UriKind.Relative);
EndpointAddress servAddr = new EndpointAddress(tempUri);
PolicyDataServiceClient temp = new PolicyDataServiceClient("BasicHttpBinding_PolicyDataService", servAddr);
return temp;

さて、どこが間違っているのでしょうか?dev ではすべて正常に動作しますが、prod ではサービスが呼び出されることはありません。ありがとう!

4

1 に答える 1

0

何が起こっているのかわかりませんが、まだ行っていない場合に試すことができるいくつかのことを次に示します。

  1. Prodのsvcファイルを参照し、アクセスできることを確認します(http://yoursite/PolicyDataService.svc)
  2. コードを製品の場所にポイントし、問題なく接続できることを確認します。これを行うと、接続できれば、通常、問題が何であるかが明らかになります。

BasicHttpBindingを使用しているので、バインディングでセキュリティの問題が発生することはありません。これはかなり基本的なことですが、どこかから始めなければなりません。

于 2012-07-07T14:38:46.267 に答える