我有一个多租户应用程序,可以在生产中作为customer.ourdomain.com
访问。对于使用IIS的本地开发,我们使用自定义通配符域company-localdev.com
。
使用IIS,无需任何特定配置即可运行。另一方面,IIS Express仅绑定到localhost
。
我们正在进行一项针对ASP.NET 5的迁移项目,我们希望使用IIS Express来获得更轻松的开发人员体验。
是否可以让IIS Express收听*.company-localdev.com:1234
?如果这可以自动化,那么开发人员可以通过在IIS中打开解决方案来使其工作。
答案 0 :(得分:15)
在ASP.NET 5 / vNext中,配置文件位于
中~ProjectFolder~/.vs/config/applicationhost.config
从那里,你可以添加新的绑定,如rdans解释。
答案 1 :(得分:9)
好的,我在本地机器上工作了,这是我必须采取的所有步骤:
转到{YourProjectFolder}\.vs\config
并修改
applicationhost.config文件:
<site name="MySite" id="2">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="{MyProjectFolderPath}" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:49861:localhost" />
<binding protocol="http" bindingInformation="*:80:example.com" />
<!-- for subdomain testing only -->
<binding protocol="http" bindingInformation="*:80:sub1.example.com" />
<binding protocol="http" bindingInformation="*:80:sub2.example.com" />
</bindings>
</site>
以管理员身份运行记事本,然后转到C:\Windows\System32\drivers\etc
打开hosts文件并进行修改
127.0.0.1 example.com
127.0.0.1 sub1.example.com
127.0.0.1 sub2.example.com
通过以管理员身份运行cmd.exe并输入netsh http提示符来添加网址预留(要获取netsh http>
提示,您必须输入netsh
,然后按Enter,然后输入{{ 1}}后跟http
):
Enter
add urlacl url=http://example.com:80/ user=everyone
add urlacl url=http://sub1.example.com:80/ user=everyone
请记住,关键字add urlacl url=http://sub2.example.com:80/ user=everyone
取决于Windows操作系统的语言。在法语操作系统上,everyone
将被user=everyone
替换,在德语操作系统上应为user="Tout le monde"
,用西班牙语user=jeder
等等...您明白了。< / p>
希望这有帮助。
答案 2 :(得分:6)
没有尝试使用vs2015,但这适用于vs 2012中的iis express。
转到您的文档文件夹。打开IISExpress / config.applicationhost.config。
搜索'sites'xml标记并找到您的网站。您可以像这样修改您的站点绑定:
{{1}}
如果我以管理员身份运行visual studio,调试只适用于我。
答案 3 :(得分:1)
我在Visual Studio 2019中的IIS Express遇到了完全相同的问题。 MSDN held the answer。
此属性的值是一个用冒号分隔的字符串,其中包括绑定的IP地址,端口和主机名。 您可以离开 主机名为空。
此简单绑定将接受所有主机名
<bindings>
<binding protocol="http" bindingInformation="*:1234:" />
</bindings>