2017-11-15 6 views
0

WCFサーバーにリクエストを送信するWeb APIがあります。 WCFプロジェクトはTopShelfを使用して開始されています。Azure - WCFサービスをWebJobとして実行

APIとWCFの両方をAzureに公開する予定です。 私は、クラウドにApp Serviceを作成し、AppサービスにWeb APIを公開しました。

Topshelf.Hosts.ConsoleRunHostエラー:0:例外が発生し、System.ServiceModel.AddressAlreadyInUseException

私はこのエラーが出るが、それは継続的に実行する必要があるため、WCFはWebJobとしてpublisedましたこれはWeb APIとWCFが同じアプリサービスを共有しているためですか?

これが適切なアプローチであるかどうかわからないのですか、それとも本当にVMが必要ですか?

本当にありがとうございます。

答えて

0

WCFプロジェクトのTCPポートを外部に公開することはできません.Appサービスは、インターネットに接続するための80および443のみをサポートしています。しかし、App Serviceの中でカスタムソケットを開き、それを使ってサービス間の通信ができるはずです。

ドキュメントのための最高の場所はこちらから入手可能です:あなたがチェックできる

https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox#network-endpoint-listening

カップルの事:

  1. WCFプロジェクトがカスタムTCPポートを使用していることを確認します(ありません80,443)
  2. 共有プランで実行していますか?

AzureのIaaSソリューション(仮想マシン)を使用せず、PaaSを使用したくない場合は、Azure Service Fabricをチェックできます。 2つのサービスを使用してService Fabricアプリケーションを作成するのは簡単です。

+0

ありがとうございます、私はチェックし、私のWCFサービスはポート50001を使用しているので、問題はありません。私はインターネットから直接WCFにアクセスする必要はありません。そのため、私はWeb APIを持っています。 Web APIは問題なくロードできますが、AzureでWCFを呼び出しても通過しません。 また、私は共有計画でWCFを実行していません。 – Code4Fun

関連する問題