2016-08-17 46 views
0

使用OWIN(特別是Katana),可以將應用程序配置到不同的分支。例如:根據主機名分支OWIN管道

public class Startup 
{ 
    public void Configuration(IAppBuilder app) 
    { 
     app.Map("/branch1", branch1 => branch1.UseMiddlewareA()); 
     app.Map("/branch2", branch2 => branch2.UseMiddlewareB()); 
     app.UseDefaultMiddleware(); 
    } 
} 

是否有可能根據主機名而不是路由路徑實現相同的事情?所以例如,假設你有www.mydomain.com/blog配置爲app.Map("/blog", blog => blog.UseBlog());而不是這個,你想使用blog.mydomain.comblog.mydomain.comwww.mydomain.com指向相同的Web應用程序,但對於blog子域,我希望它在OWIN管道中使用不同的應用程序配置。

非常感謝您的幫助。

+0

我相信你可以; MVC管道分支根據請求細節進行了相當大的分支。但是,在這種特殊情況下,我建議使用_much_更簡單的方法,例如將兩個站點添加到IIS並將主機映射到相應的Http綁定。這不是一個選擇嗎? – Smudge202

+0

它可能是一個選擇使用單獨的網站,我可能會沿着這條路線。其中一個可能的原因是將單個應用程序作爲可添加組件的主機,但我想將它們作爲單個應用程序進行管理以進行單獨部署。 –

+0

如果你想保留一個站點,但計劃在IIS上託管,那麼URL重寫也可能是一個選項,儘管它不是我特別熟悉的。我希望他們能夠將'foo.example.com'轉換爲'example.com/foo',以便您可以使用MVC區域,因爲這裏有很多模塊化的示例文章。 – Smudge202

回答