0

ローカル開発マシンのWindowsAzure開発インスタンスで実行されるプロジェクトがあります。

で実行されるWebプロジェクト とで実行さhttp://127.0.0.1:8080 れるサービスプロジェクトがありますhttp://127.0.0.1:81

これらのプロジェクトの両方をLAN上でローカルに開発できるようにしたいと思います。

ファイアウォールを切り替えて、ファイアウォール設定からポート8080と81のブロックを解除しました。しかし、これはまだ機能しません。

これを手伝ってくれませんか。

ありがとうございました。

4

3 に答える 3

2

ローカル開発エミュレーターは、開発アプリケーションで他のサービスに外部アクセスできるようにするために作成されたものではありません。これを可能にするいくつかのサポートされていないハックがありますが、公式の推奨事項は、クラウドでそのようなサービスを実行し、そこからそれらにアクセスすることです。これによりデバッグがより困難になる可能性があることはわかっていますが、これは通常、アプリケーションをホストするゲストVMにリモート接続するか、インテリトレースを有効にする(VS Ultimateを使用している場合)ことで対処できます。または、アプリケーションを適切にインストルメント化することで、問題のトラブルシューティングに役立つ適切な証拠を提供することもできます。

于 2012-09-10T17:57:36.320 に答える
2

ブレントが説明しているように、最善の解決策は、これをクラウドでテストすることです(たとえば、ステージング環境で)。これをビルドプロセスに統合するのに役立つ例はたくさんあります。一方、このテスト環境には料金がかかるため、これが常にオプションであるとは限りません。

エミュレータへの外部アクセスを許可するのは非常に簡単です。netsh(Windowsに含まれています)を使用するだけです。

netsh interface portproxy add v4tov4 listenport=10081 connectport=81 connectaddress=127.0.0.1
netsh interface portproxy add v4tov4 listenport=18080 connectport=8080 connectaddress=127.0.0.1

これらのコマンドを実行すると、Webプロジェクトがhttp://10.1.1.x:18080で利用可能になり、サービスプロジェクトがhttp://10.1.1.x:10081で利用可能になります(10.1.1.xを実際のIPに置き換えます)。これらのポートへの外部接続を許可するには、マシンでファイアウォールを開く必要がある場合があることに注意してください。

于 2012-09-10T18:21:11.573 に答える
0

Windows 8で現在の「ハック」を要求したので、AFAIKは次の場所に移動します(ここではデフォルトのディレクトリ構造を想定しています)。

C:\Program Files\Microsoft SDKs\Windows Azure\Emulator\devfabric

両方を編集します。

IISConfigurator.exe.config
IISConfigurator.exe.express.config

/ configuration / appSettingsを変更してアイテムを含めると、明らかに「YOURIPADDRESSHERE」が192.168.1.71などの実際のIPアドレスに置き換えられます。次に例を示します。

<!-- these settings are for the devfabric scenario -->
  <appSettings>
    <add key="SetupCloudDriveDevPath" value="true"/>
    <add key="SetupMachineKeys" value="false"/>
    <add key="FixedSiteBindingIpAddress" value="192.168.1.71"/>
  </appSettings>

デバッガーは引き続き元の127.0.0.1:8*の場所を開きますが、127.0.0.1をローカルIPアドレスに置き換えるだけです。また、これらの変更を有効にするにはWindows 7を再起動する必要があり、構成ファイルは保護されているため、管理者として編集する必要があります。

于 2013-06-07T17:51:22.053 に答える