【问题标题】:Separate routes between mvc 5 and api 2.2 in the same project在同一个项目中分离 mvc 5 和 api 2.2 之间的路由
【发布时间】:2014-11-03 00:28:36
【问题描述】:

我有一个项目同时运行 mvc 5 和 web api 2.2,但是每个项目都有自己的路由系统。

问题是既响应api.domain.com又响应www.domain.com

所以我需要 api.domain.com 与 api.domain.com/blog 没有任何关系,例如 api.domain.com/blog,这是一个应该只属于 www.domain.com/blog 的 url。同样的方式我应该无法访问 www.domain.com/api/...

我正在考虑检查 Application Requet 中的 url 并在那里运行一个 if 语句,但是这对我来说听起来不对。

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

【问题讨论】:

标签: asp.net-mvc asp.net-web-api routing


【解决方案1】:

您可以使用 IIS URL 重写模块将请求重写为 api.domain.com/.../api/...www.domain.com/web/...。现在您可以在应用程序中拥有完全独立的路由。

或者您可以创建一个自定义操作过滤器来检查域并将其应用于每个类或方法,以将其限制为仅响应该域。或者,您当然需要一个单独的 MVC 和 WebAPI 操作过滤器,但那是另一回事了......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-17
    • 1970-01-01
    • 1970-01-01
    • 2021-10-18
    • 2014-02-17
    • 1970-01-01
    • 2018-01-31
    • 2016-07-06
    相关资源
    最近更新 更多