ASP.NETMVC&;C#:HttpStatusCodeResult()与HttpNotFound()的比较
在ASP.NET MVC中,返回以下内容的区别是什么:ASP.NETMVC&;C#:HttpStatusCodeResult()与HttpNotFound()的比较,c#,.net,asp.net-mvc,http,C#,.net,Asp.net Mvc,Http,在ASP.NET MVC中,返回以下内容的区别是什么: return new HttpStatusCodeResult(HttpStatusCode.NotFound); 这是: return HttpNotFound(); 区别在于HttpStatusCodeResult使您能够更好地控制可以返回的HTTP状态代码,因为它允许您在HttpStatusCode枚举中指定任何预定义的状态代码HttpNotFound始终返回HTTP状态代码404。HttpNotFound()方法new Ht
return new HttpStatusCodeResult(HttpStatusCode.NotFound);
这是:
return HttpNotFound();
区别在于
HttpStatusCodeResult
使您能够更好地控制可以返回的HTTP状态代码,因为它允许您在HttpStatusCode
枚举中指定任何预定义的状态代码HttpNotFound
始终返回HTTP状态代码404。HttpNotFound()方法new HttpNotFoundResult(null)
所以问题是,newhttpnotfoundresult(null)
和newhttpstatuscodesult(HttpStatusCode.NotFound)
之间有什么区别
允许您通过检查类型(HttpNotFoundResult
)以及检查状态代码(if(结果为HttpNotFoundResult)
)来测试返回代码if(状态代码==404)
返回HttpNotFound()代码>更容易键入
HttpStatusCodeResult
将HttpStatusCodeResult
的状态代码分类为HttpStatusCode.NotFound
我认为问题不在于一般情况下HttpStatusCodeResult
与HttpNotFound
之间的区别(这真是一个愚蠢的问题)。更确切地说,它是关于新的HttpStatusCodeResult(HttpStatusCode.NotFound)vsHttpNotFound()
的。