2

我最近一直在研究 MVC4 WebApi 示例。这些示例应用程序非常简单,仅包含几页。由于它们的目的只是展示如何使用 ApiController,因此应用程序的结构保持在最低限度。

在较大的 Web 应用程序中,会有很多常规控制器和 Api 控制器。我们应该如何以有组织的方式安排它们?将所有 api 控制器放入一个文件夹并$.ajax()从那里调用每个视图是否是一种好习惯?或者,将 api 控制器与呈现相关视图所在的视图的常规控制器一起放置是否更好$.ajax()

建议的做法是什么?

这里添加了一些想法:

我会花更多的时间考虑一下。现在我的计划是标准控制器将只用于渲染视图。没有视图模型将通过标准控制器传递。也就是说,没有return View(model)。视图将使用 jQuery 模板等客户端编程从 API 控制器返回的 json 对象填充。【我是不是太极端了?没有return View(model)?真的?]

如果这没问题,那么常规控制器将不会调用任何工作服务。相反,应该从 API 控制器调用所有工作服务。那么,我应该如何放置这些 WorkerServices 和它们的接口呢?

更重要的是,如果我想拥有区域怎么办?我应该将 API 和 WorkerServices 放在区域之外吗?或者每个区域都有一个 API 文件夹和一个 WorkerServices 文件夹?

我肯定会在今天下午反复考虑,做出一个有计划的决定。请让我知道您的建议或经验。谢谢你。

4

1 回答 1

4

您可以分支您的Controllers文件夹以保持 Api 控制器和标准控制器之间的分离:

              |--- Api
Controllers - |
              |--- Standard

或以下分离:

|-- Controllers
|-- Api

这真的是个人品味的问题。我只是注意不要在同一个文件夹中混合标准和 Api 控制器,因为它们更难区分。

$.ajax调用而言,控制器的位置以及它们在服务器上的组织方式并不重要。由路由引擎将传入的 url 分派给相应的控制器。

于 2012-05-01T18:21:07.360 回答