C# 从.NET Web应用程序(MVC 3)自动绑定到IIS 7.5中的自定义域

C# 从.NET Web应用程序(MVC 3)自动绑定到IIS 7.5中的自定义域,c#,asp.net-mvc,dns,iis-7.5,C#,Asp.net Mvc,Dns,Iis 7.5,我正在构建一个web应用程序,其中将有一个核心库和数据库,由许多实例共享。举一个更具体的例子,假设我有一个博客引擎,用户可以注册他们自己的博客,独立于系统上的其他博客 每个实例都必须有自己的子域,例如:并且还可以选择将自己的域映射到它,例如: 我遇到的问题是不知道如何通知IIS 7.5当请求从这些域中的任何一个传入时该怎么做。它是否像将此web应用程序设置为IIS中的默认站点那样简单,并且应用程序可以使用请求头采取适当的操作 我觉得这应该是一项非常普通的任务,所以我不认为这太难解决,但目前我不确

我正在构建一个web应用程序,其中将有一个核心库和数据库,由许多实例共享。举一个更具体的例子,假设我有一个博客引擎,用户可以注册他们自己的博客,独立于系统上的其他博客

每个实例都必须有自己的子域,例如:并且还可以选择将自己的域映射到它,例如:

我遇到的问题是不知道如何通知IIS 7.5当请求从这些域中的任何一个传入时该怎么做。它是否像将此web应用程序设置为IIS中的默认站点那样简单,并且应用程序可以使用请求头采取适当的操作

我觉得这应该是一项非常普通的任务,所以我不认为这太难解决,但目前我不确定如何解决

感谢您的指导

谢谢你

这个问题已经问了很久了,但仍然在回答,所以它可能对其他需要帮助的人有所帮助

我碰巧在一个大型的基于SaaS的多租户项目上工作,该项目涉及每个用户站点的唯一子域。用户可以在自己的网站上设计和管理内容

在注册租户/用户时,我们可以使用C#在以下链接中添加与IIS的域绑定-

此外,我们还需要从请求头中检查主机名,并获取子域名称以获取子域特定的数据和接口等

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);
    }
}
如果您需要更多信息,请告诉我

问候,


Manik

这看起来更像是IIS配置问题,它比ASP.NET MVC编程问题更适合。您好,Darin,我不反对这一点。有没有办法把这个移到serverfault.com上?谢谢