4

Azure SDK を 1.8 に更新した後、プロジェクトを適切に実行できなくなりました。ローカル エミュレーターが、同じポート番号を使用して間違った方法で IIS アプリケーションを作成しているようです。たとえば 5 つの Web ロールを使用して新しいクラウド プロジェクトを作成し、Azure プロジェクト プロパティで IIS Web サーバーを使用するように設定すると、問題を再現できます。 Azure プロジェクトのプロパティ

アプリケーションを実行した後、IIS は、同じポートが既に使用されているため、アプリケーションのほとんどが停止していることを示しています。それらはすべて、最後のアプリにのみ割り当てる必要がある 8085 ポートを使用します

ここに画像の説明を入力

ここに画像の説明を入力

Microsoft に報告されたバグ: http://connect.microsoft.com/VisualStudio/feedback/details/773786/azure-sdk-1-8-binds-several-web-roles-to-the-same-port-on-local -エミュレータ#詳細

SDK 1.8 で動作しないデフォルトの Visual Studio サービス構成

<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="WindowsAzure1" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2012-10.1.8">
  <WebRole name="WebRole1" vmsize="Small">
    <Sites>
      <Site name="Web">
        <Bindings>
          <Binding name="Endpoint1" endpointName="Endpoint1" />
        </Bindings>
      </Site>
    </Sites>
    <Endpoints>
      <InputEndpoint name="Endpoint1" protocol="http" port="80" />
    </Endpoints>
    <Imports>
      <Import moduleName="Diagnostics" />
    </Imports>
  </WebRole>
  <WebRole name="WebRole2" vmsize="Small">
    <Sites>
      <Site name="Web">
        <Bindings>
          <Binding name="Endpoint1" endpointName="Endpoint1" />
        </Bindings>
      </Site>
    </Sites>
    <Endpoints>
      <InputEndpoint name="Endpoint1" protocol="http" port="8080" />
    </Endpoints>
    <Imports>
      <Import moduleName="Diagnostics" />
    </Imports>
  </WebRole>
  <WebRole name="WebRole3" vmsize="Small">
    <Sites>
      <Site name="Web">
        <Bindings>
          <Binding name="Endpoint1" endpointName="Endpoint1" />
        </Bindings>
      </Site>
    </Sites>
    <Endpoints>
      <InputEndpoint name="Endpoint1" protocol="http" port="8081" />
    </Endpoints>
    <Imports>
      <Import moduleName="Diagnostics" />
    </Imports>
  </WebRole>
  <WebRole name="WebRole4" vmsize="Small">
    <Sites>
      <Site name="Web">
        <Bindings>
          <Binding name="Endpoint1" endpointName="Endpoint1" />
        </Bindings>
      </Site>
    </Sites>
    <Endpoints>
      <InputEndpoint name="Endpoint1" protocol="http" port="8082" />
    </Endpoints>
    <Imports>
      <Import moduleName="Diagnostics" />
    </Imports>
  </WebRole>
  <WebRole name="WebRole5" vmsize="Small">
    <Sites>
      <Site name="Web">
        <Bindings>
          <Binding name="Endpoint1" endpointName="Endpoint1" />
        </Bindings>
      </Site>
    </Sites>
    <Endpoints>
      <InputEndpoint name="Endpoint1" protocol="http" port="8083" />
    </Endpoints>
    <Imports>
      <Import moduleName="Diagnostics" />
    </Imports>
  </WebRole>
</ServiceDefinition>
4

2 に答える 2

2

同じ問題がここに投稿されました: IIS7.5上のAzure2012年10月SDKで動作するインスタンスは1つだけです

私は同じセットアップでこれに遭遇し、解決するために論理的なすべてを試し、Webを検索しました...何もありません。これがどうなるかわかりません。同じプロジェクトは、古いバージョンのAzureEmulatorで正常に実行されました。MSに感謝します。


更新:ここで提案されたレジストリハックに従って問題を解決しました:

VS2012を使用しているが、VS2010を使用していないクリーンなマシン上で複数の役割インスタンスを使用するWindows Azure Compute Emulator(SDK 1.8)の奇妙な動作

問題は、エミュレータがVS2010とVS2012の設定を選択する際の混乱にあるようです。私の場合、2010と2012の両方をインストールしていますが、2012のみのクリーンインストールでも影響があるようです。

Microsoft.WindowsAzure.Common.Workarounds.TryGetVS2010SPVersion(名前のみ)はハックのように見え、修正するには追加のregハックが必要でした。繰り返しになりますが、MSに感謝します。:)

この問題を抱えている人は、MSが修正するためにこの接続バグを積み重ねてください: https ://connect.microsoft.com/VisualStudio/feedback/details/773786/azure-sdk-1-8-binds-several-web-roles- to-the-same-port-on-local-emulator

于 2013-01-19T08:49:02.863 に答える
0

クラウド プロジェクトの役割ごとに異なるエンドポイントを設定していますか? そうでない場合は、問題が解決することを願っています。これを行う方法についての基本的なブログ投稿は次のとおりです。

http://robindotnet.wordpress.com/2012/07/02/how-to-set-up-an-https-endpoint-for-a-windows-azure-web-role/

于 2012-12-12T21:52:56.467 に答える