【问题标题】:How do I add MVC Areas and Web API to an existing Asp.net MVC 4 application如何将 MVC 区域和 Web API 添加到现有的 Asp.net MVC 4 应用程序
【发布时间】:2014-04-07 06:58:42
【问题描述】:

几个月来,我们一直在构建一个 MVC 4 应用程序,该应用程序已经发展了很多。它变得非常混乱,因为我们发现很多对控制器操作的调用以返回 JSON 数据而不是视图。

为了清理它,我们想做两件事:

  1. 添加 MVC 区域
  2. 为所有 AJAX/JSON 类型调用添加 Web API

问题

  1. 我刚刚发现WebAPI不支持区域 即使这种自定义方法似乎也有太多潜在的缺点:http://blogs.infosupport.com/asp-net-mvc-4-rc-getting-webapi-and-areas-to-play-nicely/

Areas 之所以有意义,是因为您可以为 API 的每个区域添加控制器,如下所示:
API
----管理员控制器
----ProfileController
----事务控制器

因此,您的其他区域将处理标准 MVC 控制器、操作和视图,但 API 区域将专门处理 API 调用。

这似乎应该是直截了当的?

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-4 asp.net-web-api asp.net-mvc-areas


    【解决方案1】:

    为什么不将您的 Web API 放在同一个解决方案中的单独项目中,并避免进一步膨胀您的 MVC 项目。然后,您可以将区域添加到您的 MVC 项目并避免对您的 API 内容产生任何副作用。然后,您可能需要分离出两个项目将共享的单独数据访问项目。

    【讨论】:

    • 感谢@jksemple。但是,这对安全有什么作用?如何将身份验证/授权传递到 WebAPI 项目?
    • 好点。我们在我们的 API 项目中明确地进行身份验证,因为它是直接从客户端访问的,而不是在现有的经过身份验证的 Web 会话的上下文中访问。不确定单独的 Web API 项目是否适合您。
    猜你喜欢
    • 2012-08-12
    • 2015-07-12
    • 2023-03-19
    • 2014-11-21
    • 1970-01-01
    • 1970-01-01
    • 2014-11-12
    • 2012-04-04
    • 1970-01-01
    相关资源
    最近更新 更多