asp.net-mvc – 显式指定ASP.NET MVC中控制器返回的ActionResult类型是一种好习惯

我一直在使用ASP.NET MVC一段时间,似乎发现自己经常从我的控制器返回ActionResult以外的东西.我显然返回了ViewResults,还有JSonResults以及我们内部构建的一些自定义结果.

我想知道,如果,而不是声明我的控制器方法,如:

public ActionResult Index()

我应该开始宣布它们为

public ViewResult Index()

要么

public JsonResult Search()

如果我总是知道控制器上的Index操作将始终返回ViewResult,或者我的控制器上的Search操作将始终返回JsonResult?

编辑:只是为了澄清,我正在特别谈论我总是希望返回特定类型的ActionResult的情况.

解决方法

我投赞成票有两个原因.

>您明确声明了您希望返回的方法,编译器将捕获任何其他尝试.不需要进行Assert的单元测试(结果是ViewResult).>在检查该结果类型的唯一属性时,必须将结果强制转换为测试中的预期类型(例如,检查RedirectResult的Url属性).简单地将测试变量声明为var可以消除因更改类型而导致的任何脆弱性.

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....