0

WCF サービス Web ロールと ASP.NET フォーム Web ロールを含む Azure プロジェクトがあり、それぞれの 2 つのインスタンスを使用しています。ASP.NET フォーム Web ロールは、このように Web.config で構成された tcp バインディングを介して、標準サービス参照を介して WCF サービス Web ロールを定期的に呼び出します。

<endpoint address="net.tcp://localhost:666/EventService.svc"
    behaviorConfiguration="DefaultBehaviour" binding="netTcpBinding"
    bindingConfiguration="TCPBinding" contract="EventService.IEventService"
    name="EventService" />

私が抱えている問題は、現在、各展開後に web.config ファイルを手動で編集せずにこれらの役割を展開する方法がないことです (これらの役割が展開される IP エンドポイント アドレスが変更される可能性があるため)。

この問題を解決するために私が検討した方法は、WebRole.OnStart()イベントをインターセプトして を使用しRoleEnvironment.Roles["MyWCFServices"].Instances、Web.config ファイルを直接変更しMicrosoft.Web.Administration.ServerManagerて正しい WCF サービス IP を参照することです。

ただし、この方法に進む前に、Azure プラットフォームで Web ロール間の IP 参照を実現する簡単な方法がないことを誰か確認していただけますか?

4

1 に答える 1

1

WCF と ASP.Net の Web ロールが異なるため、それらの URL はポート番号のみが異なるため、IP アドレスにバインドする必要があるのはなぜですか?

このようなバリエーションについては、 web.config 変換を使用して、web.cloud.config.

更新: エンドポイントが内部の場合、上記のモデルは適用されません。IP はランダムに生成され、実行時にバインドする必要があります。この投稿を見る

于 2013-07-31T08:02:52.293 に答える