使我的Windows Azure Web和服务项目可用于我的局域网?

时间:2012-09-10 17:09:25

标签: iis azure

我有一个在本地开发机器上的Windows Azure开发实例上运行的项目。

我有一个运行于的{strong> Web项目:http://127.0.0.1:8080 以及在http://127.0.0.1:81

上运行的服务项目

我想在我的局域网上本地提供这两个项目以供开发。

我已切换防火墙并从防火墙设置中取消阻止端口8080和81。但这仍然行不通。

你可以帮我解决这个问题吗?

谢谢。

3 个答案:

答案 0 :(得分:2)

未创建本地开发模拟器以允许在开发应用程序中外部访问其他服务。虽然有一些不支持的黑客可以实现这一点,但官方的建议是在云中运行这些服务并从那里访问它们。我意识到这可能会使调试变得更加困难,但这通常可以通过远程访问托管应用程序的来宾VM和/或启用intellitrace(提供VS Ultimate)来解决。或者,正确检测您的应用程序也可以提供适当的证据,以帮助解决任何问题。

答案 1 :(得分: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:18080http://10.1.1.x:10081上的服务项目上可用(用您的实际IP替换10.1.1.x)。请注意,您可能需要在计算机上打开防火墙以允许外部连接到这些端口。

答案 2 :(得分:0)

由于您要求“hack”,Windows 8上的当前版本(AFAIK)将转到(假设此处为默认目录结构):

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

并编辑两者:

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

并修改/ configuration / appSettings以包含项目显然会将您的“IP地址”替换为您的实际IP地址,例如192.168.1.71。这是一个例子:

<!-- 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*位置,但只需用您的本地IP地址替换127.0.0.1。此外,您可能必须重新启动Windows 7才能使这些更改生效,并且您希望以管理员身份编辑配置文件,因为它们受到保护。

相关问题