我需要在域名下的 azure 计算模拟器中运行 Web 角色,而不是本地主机 IP 地址 (127.0.0.1)。我可以配置我的项目在本地 IIS 上运行常规 Web 应用程序,因此我可以使用实际域名而不是开发服务器 IP 地址...
我的应用程序非常具体,因为我使用子域来定义州(美国州)。例如,我需要 azure 模拟器来使用类似的东西: http://wa.myapp.net ,但不是http://127.0.0.1这对我来说没有意义。
我有很多功能都依赖于我的网址中的子域。使用常规 Web 应用程序,我可以将其配置为在 IIS 上运行,并在我的项目中设置 url(以及 IIS 中的绑定(bind)),但我看不到如何在 azure 模拟器中执行此操作。
现在我有一个解决办法。我刚刚将本地 IIS 配置为指向应用程序文件夹,我可以运行我的应用程序,然后将我的 Visual Studio 附加到 IIS 进程。但在这种情况下,某些功能不起作用,因为 azure 角色未运行...所以它并不能完全解决问题...
拜托,需要建议。
谢谢!
最佳答案
MSDN 文章 Configure a Web Role for Multiple Web Sites解释了如何执行此操作。
您可以使用 hostHeader
属性添加额外的绑定(bind),该属性在 ServiceDefinition.csdef
中指定自定义域。
例如:
<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="MyService" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2013-03.2.0">
[...]
<Sites>
<Site name="Web">
<Bindings>
<Binding name="Endpoint1" endpointName="WebSvc" />
<Binding name="Endpoint1" endpointName="WebSvc" hostHeader="my.custom.domain.com" />
</Bindings>
</Site>
</Sites>
[...]
</WebRole>
</ServiceDefinition>
您仍然需要在计算机上的 C:\Windows\System32\drivers\etc\hosts
中设置主机覆盖,并导航到正确的 URL。
关于azure - azure 计算模拟器的域名或绑定(bind)名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10150685/