加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-4 – HttpResponseException

发布时间:2020-12-16 06:25:16 所属栏目:asp.Net 来源:网络整理
导读:我在处理MVC 4 webAPI中的错误时遇到了一个大问题.在这里,我想验证传入请求并发回BadRequest响应. 为此,我正在使用代码 public Product GetProduct(int id){ Product item = repository.Get(id); if (item == null) { throw new HttpResponseException(new H
我在处理MVC 4 webAPI中的错误时遇到了一个大问题.在这里,我想验证传入请求并发回BadRequest响应.

为此,我正在使用代码

public Product GetProduct(int id)
{
    Product item = repository.Get(id);
   if (item == null)
   {
     throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound));
   }
   return item;
}

但是如果是null id,VS2010会产生另一个错误

“处理HTTP请求导致异常.请参阅此异常的’Response’属性返回的HTTP响应以获取详细信息”.

我该如何解决这个问题

提前致谢….

解决方法

你的代码实际上是正确的.您所看到的是Visual Studio坚持捕获未处理的异常(在您的应用程序中未处理).

HttpResponseException异常由调用Web API的路由处理,您的代码只会生成404错误.

在Web服务器上安装代码后,如果不存在匹配的记录,则只会返回404错误.

虽然使用约束的建议对于基本检查很有用,但404的实际用途是报告数据库中不存在特定的请求条目(而不是URL中不存在).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读