.net 允许所有子域

.net 允许所有子域,.net,asp.net-core,asp.net-mvc-routing,asp.net-core-mvc,.net-core,.net,Asp.net Core,Asp.net Mvc Routing,Asp.net Core Mvc,.net Core,我正在尝试设置一个新的.NET核心MVC应用程序,以允许多租户应用程序的所有子域。我添加了一个路由约束,使我能够提取租户信息,但无法使我的解决方案允许任何子域。我想实现这一点,而不必编辑本地Windows主机文件进行测试。这可能吗 没错,如果您在iisExpress下运行project,您应该设置一些配置。 但是如果你使用dotnet run运行你的项目,它将允许你使用你想要的任何子域…如果其他人有这个“问题”,我最终使用了一个重定向回我本地机器的域-请参阅我通常对多租户web应用程序所做的,就

我正在尝试设置一个新的.NET核心MVC应用程序,以允许多租户应用程序的所有子域。我添加了一个路由约束,使我能够提取租户信息,但无法使我的解决方案允许任何子域。我想实现这一点,而不必编辑本地Windows主机文件进行测试。这可能吗

没错,如果您在
iisExpress
下运行project,您应该设置一些配置。

但是如果你使用
dotnet run
运行你的项目,它将允许你使用你想要的任何子域…

如果其他人有这个“问题”,我最终使用了一个重定向回我本地机器的域-请参阅我通常对多租户web应用程序所做的,就是使用本地(或内部网)DNS来翻译域名,因为这样你就可以最终控制域名的翻译方式

示例步骤:

1) 设置本地DNS服务器,并将开发计算机的本地网络设置为使用DNS服务器IP 2) 设置域(如local,就像我经常做的那样,并将*.local设置为指向您的开发机器IP,这样子域将是siteA.local、siteB.local等) 3) 在您的.NET核心MVC应用程序中。侦听特定端口(我通常直接作为HTTP的侦听端口80进行侦听-但请确保您以管理员权限运行应用程序,您希望端口80而不是5000这样的端口带来方便)


4) viola,尽情享受吧,因为本地的所有子域(如siteA.local、siteB.local等)都将指向您的本地开发机器,然后使用.NET Core MVC应用程序为所有域提供服务

您如何在不编辑主机文件的情况下在本地机器上测试多个子域?您的.NET Core MVC应用程序正在侦听本地IP上的所有传入请求(或您在
WebHostBuilder
中设置的任何请求),但如果您想测试
localhost
以外的任何其他主机名,您需要将它们添加到主机文件中。saaskit项目有一种很好的方法来处理多租户。您可以看看: