3 つの Azure Web ロールと 1 つのワーカー ロールを含むソリューションがあります。
これらの役割にはそれぞれ独自の Azure 展開プロジェクトがあります。これは、異なるサブドメインが必要であり、個別に展開する必要がある場合があるためです。
URL に依存する側面 (複数のサブドメインにまたがる Cookie、ロール間の相互接続など) を開発している間、Azure コンピューティング エミュレーターの絶え間なく変化する仮想 IP (現在、127.0.0.2、127.0.0.3、および 127.0. 0.8 (間に何もない) 何らかの理由) が問題になりました。さらに、ブラウザは各 IP を異なるホストとして認識するため、サブドメインにまたがる Cookie を実装するには DNS アドレスが必要です。
このトピックに関する情報資料はあまりないように思われるので、私のアプローチが間違っているのかもしれませんが、他の人はこれらのケースをどのように解決していますか?
1) IIS Express の代わりにフル IIS を使用します。それが実行可能な解決策になるかどうかはわかりませんが、アドレスの変更が停止すると思いますが、可能な限り軽量の IIS Express を使用したいと思います。さらに、安定したサブドメイン (本番用のものとは異なります) を手作業なしで使用できるかどうかもわかりません。
2) ServiceDefinition.csdef で hostHeader 属性を使用します。hosts ファイルを手動で変更した場合にのみ機能し、hosts ファイルのエントリを削除しないと生産的なコードに到達できません (エラーが発生しやすく、面倒です)。
3) ある種のリバース プロキシですが、それはやり過ぎのように感じます。
明らかなことを忘れていることを願っています;)
よろしく、
Pharao2k
[編集] 私が望むのは、3 つのプロジェクトすべてを 1 つのホスト名または 1 つの dns 名 (各プロジェクトのサブドメイン) で構成された URL と並行してデバッグすることだけです。これを試しているうちに正気を失ったのかもしれませんが、これを行う方法がわかりません。
IIS Express と 3 つの Azure 展開プロジェクトを使用すると、コンパイルを押すたびに、それぞれが別の IP (127.0.0.X) を取得します。確かに、F5 を押すたびにホスト ファイルを編集し、DNS キャッシュを更新することはできますが、それは受け入れられません。
完全な IIS と 3 つの Azure 展開プロジェクトを使用すると、一度に複数のプロジェクトを開始できなくなり、使用できなくなります。
すべてのロールに結合された Azure プロジェクトを使用する場合、少なくとも 5 つの Azure プロジェクトを維持する必要があります... 単一のもの (実際の展開では、前述のように、それらは個別に展開可能である必要があります) と結合されたものです。そして、これはどういうわけか私を狂わせることになると確信しており、これはテスト済みのシナリオではないことは確かです. [編集#2]うわー、ここでもIPアドレスが変更されるので、ホストファイルの変更に戻る+ F5キーを押すたびにDNSフラッシュ-.-
サブドメインを使用する私のシナリオがそれほど珍しいとは思えません。なぜ他の誰もこの問題を抱えていないように見えるのか理解できません.