2016-08-17 115 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

回答