[英]Automatically binding to custom domains in IIS 7.5 from .NET Web Application (MVC 3)
我正在构建一个Web应用程序,其中将有一个由许多实例共享的核心库和数据库。 举一个更具体的例子,假设我有一个博客引擎,用户可以注册自己的博客,该博客将独立于系统中的其他博客而工作。
每个实例必须具有自己的子域,例如: http://john.extremeblogging.tld/ ,还可以选择将自己的域映射到它的域,例如: http://jonnyblogger.tld/
我遇到的问题是不知道如何从这些域中的任何一个域发出请求时通知IIS 7.5怎么办。 将这个Web应用程序设置为IIS中的默认站点是否简单,并且该应用程序可以使用请求标头采取适当的操作?
令我吃惊的是,这应该是一个非常常见的任务,因此我认为这很难解决,但是目前我不确定该如何解决。
任何指导表示赞赏。
谢谢
ID
这个问题被问了很长时间,但仍在回答,因此对有需要的人可能会有帮助。
我碰巧在一个大型的基于SaaS的多租户项目上工作,该项目涉及每个用户站点的唯一子域。 用户可以在自己的网站上设计和管理内容。
在租户/用户注册后,我们可以使用C#通过此链接添加与IIS的域绑定-
http://amitpatelit.com/2013/03/12/enter-iis-binding-entry-by-c-code/
同时,我们需要从请求标头中检查主机名,并获取子域名以获取子域特定的数据和接口等。
protected override void OnAuthorization(AuthorizationContext filter_context)
{
var url = Request.Headers["HOST"];
var index = url.IndexOf(".");
if(index > 0)
{
var sub = url.Split('.')[0];
FrontSiteData = CommonService.GetSiteData(sub);
}
}
如果您需要更多信息,请告诉我。
问候,
马尼克
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.