2014-11-03 39 views
0

我有一个项目一起运行mvc 5和web api 2.2,但是每个项目都有自己的路由系统。在同一个项目中mvc 5和api 2.2之间的单独路径

的问题是,既要应对api.domain.com和既www.domain.com

所以,我需要的是api.domain.com不会有什么关系,比如响应, api.domain.com/blog,这是一个只应该属于www.domain.com/blog的网址。同样的方式,我应该无法访问www.domain.com/api/...

我在考虑检查应用程序中的url并在那里运行if语句,但它听起来并不正确。

是否在相同的解决方案下将它们分解为两个单独的项目并交叉引用项目/库?

+0

可能重复[是否有可能使一个基于子域的ASP.NET MVC路由?](http:// stackoverflow.com/questions/278668/is-it-possible-to-make-an-asp-net-mvc-route-based-on-a-subdomain) – 2014-11-03 00:31:24

+1

在相同的解决方案中分开项目:) – 2014-11-03 00:42:10

回答

1

您可以使用IIS URL重写模块将请求重写为api.domain.com/.../api/...www.domain.com/web/...。现在,您可以在应用程序内完全分离路线。

或者您可以创建一个自定义操作筛选器,检查域并将其应用于每个类或方法,以限制它只响应该域。或者当然你需要一个单独的MVC和WebAPI动作过滤器,但这是另一个故事...

相关问题