0


WCF serviceからアクセスし たかったMobile ServiceのですWindows Azure。このために、Service Bus Relay資格情報で構成された接続を使用してWCF service.

Mobile Serviceこれをローカル マシンで公開したところ、WCF service問題なく呼び出すことができました。

しかし、これMobile Serviceを Azure に公開すると、アクセスしようとすると次のエラーが発生します。IService1 は、WCF サービスのコントラクトです。このコントラクトで Mobile Service の Web.Config ファイルにエンドポイントを定義しました。

これを解決するのを手伝ってもらえますか?

Exception=System.InvalidOperationException: ServiceModel クライアント構成セクションで、コントラクト 'ServiceReference1.IService1' を参照する既定のエンドポイント要素が見つかりませんでした。これは、アプリケーションの構成ファイルが見つからなかったか、このコントラクトに一致するエンドポイント要素がクライアント要素に見つからなかったためである可能性があります。

編集: この問題をさらに調査したところ、サービス参照を追加することによって生成されたプロキシ クラスが、クラウドでホストするときに Web.config で定義されたエンドポイント定義を取得していないことがわかりました。しかし、私のマシンの Azure エミュレーターでサービスを実行すると、Web.config からエンドポイント定義が取得されます。

そのため、この問題を解決するには、プログラムでエンドポイントを定義し、ChannelFactory クラスを使用して WCF サービスを呼び出す必要がありました。

Mobile Service がクラウドで Web.config を読み取れない理由について何か考えはありますか?

4

1 に答える 1

2

.NET バックエンド プロジェクトの Web.config ファイルの appSettings セクションで、アプリ設定をキーと値のペアとして設定できます。これらの値は、ローカル コンピューターで .NET バックエンド プロジェクトをテストするときに使用されます。Azure で実行する場合、これらの値は無視され、代わりにポータル設定が使用されます。

http://msdn.microsoft.com/en-us/library/azure/dn529070.aspx

したがって、Mobile Services の .config ファイルには何か特別なものがあると思いますが、それ以上はわかりません。プログラムで WCF を初期化することは、適切な解決策です。

于 2014-11-28T08:23:38.640 に答える