C# 如何提供多个URL';它来自同一个MVC代码

C# 如何提供多个URL';它来自同一个MVC代码,c#,asp.net-mvc,asp.net-mvc-4,white-labelling,C#,Asp.net Mvc,Asp.net Mvc 4,White Labelling,我有一个MVC4 Web应用程序服务于一个网站。现在,我想使用相同的Web应用程序为其他网站(其他URL)提供服务,作为某种白标签引擎。基本上,我想使用相同的控制器,但自定义标题,样式,偶尔对内容 我不想创建同一Web应用程序的变体。最好的办法是什么?我正在考虑从每个控制器检测URL并据此采取行动。但感觉可以在调用堆栈的更高层检测URL 当然,也欢迎其他解决方案。我基本上是在寻找最实用的方法来实现这一点 如果它们位于不同的域名上,只需检查主机头。然后在拥有所有白标签信息的表中(例如,tbl_站点

我有一个MVC4 Web应用程序服务于一个网站。现在,我想使用相同的Web应用程序为其他网站(其他URL)提供服务,作为某种白标签引擎。基本上,我想使用相同的控制器,但自定义标题,样式,偶尔对内容

我不想创建同一Web应用程序的变体。最好的办法是什么?我正在考虑从每个控制器检测URL并据此采取行动。但感觉可以在调用堆栈的更高层检测URL


当然,也欢迎其他解决方案。我基本上是在寻找最实用的方法来实现这一点

如果它们位于不同的域名上,只需检查主机头。然后在拥有所有白标签信息的表中(例如,tbl_站点),只需添加一个新列:Host

然后在控制器中,读取主机标题并使用该标题查询您的tb_站点,确定他们正在访问哪个站点并在该站点上进行自定义


您需要让所有域名指向相同的(静态)IP地址。

我们有一个类似的解决方案,我们在同一个iis站点中使用多个绑定实现(iismanager->右键单击站点->编辑绑定)


在应用程序内部,我们使用一个助手类和一个数据库来根据请求域参数化资源。

Thx以获取您的答案。我确实从HTTP_主机派生了域名,并将其与我的标签表进行了匹配。我用标签对象扩展了每个模型,标签对象在每个控制器的开始处填充。现在,每个视图都知道它需要适应的标签。Thx用于您的答案。这是正确的,但我发现另一个更有用。