[英]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.