1

好吧...我需要列出所有上传、下载和请求。但我还需要列出特定于用户的所有上传、下载和请求。我不确定在哪里放置这些操作以使其合乎逻辑。这些操作将其数据作为 json 返回。

  • 当用户POST: Index(file)UploadsController.
  • 当用户GET: Files(fileName)UploadsController.
  • 当用户调用任何ActionResult带有LogAttribute.

我的控制器是什么样子的:

用户控制器

  • 获取:列表
  • 获取:创建
  • 发布:创建(视图模型)
  • POST:删除(用户 ID)
  • 获取:登录
  • POST:登录(用户名,密码)
  • 发布:注销

上传控制器

  • GET:索引
  • POST:索引(文件)
  • GET:文件(文件名)

方法一:

创建 2 个新控制器,DownloadsController然后RequestsController. 在这两个控制器中,并UploadsController创建以下操作:

  • 获取:列出所有
  • 获取:列表(用户 ID)

方法二:

创建一个StatsController具有以下操作的新控制器:

  • GET:列出所有上传
  • GET: ListUploadsFor(userID)
  • GET:列出所有下载
  • GET: ListUploadsFor(userID)
  • GET:列出所有请求
  • GET:ListRequestsFor(用户 ID)

如前所述,我不确定这两种方法中的哪一种(如果有的话)有意义。有人可以解释一下,哪个是“最好的”?

4

1 回答 1

0

控制器应该对功能相关的 Action 方法进行分组——至少,这是我的看法。你会有几千行类,其中有不相关的方法,都做了独特的事情吗?如果不是,请不要认为 Controller 有什么不同;毕竟它是一个有方法的类。我可能会选择任何一种方法——对我来说都很好。这取决于你喜欢什么。我什至可能会更细化,并拥有一个 UploadsController 以及 DownloadsController 和 RequestsController。这些控制器名称将有助于将您的视图隔离到唯一的文件夹中,这对其他开发人员也更加人性化。

于 2013-07-17T21:49:37.037 回答