【发布时间】:2011-07-06 08:50:04
【问题描述】:
我使用 CouchDB 作为 C# Web 服务的数据源。
由于是 RESTful,当要求提供不存在的文档时,CouchDB 会传回状态码 404。标准的 .NET Web 请求希望在此引发异常,但(至少对我而言)通过异常传达数据源已返回“无结果”是非常可怕的;这是一种我真的不想在我的代码中飘荡的臭味......
我可以使用 WebRequest 的替代品来处理我认为合适的状态代码吗?
编辑: 只是为了澄清一下,由于我到目前为止的回复:我不想隐藏 WebRequest 引发的异常。我正在寻找一种标准 WebRequest 的替代方案,它不会基于状态代码引发异常,因为 .NET 对什么构成错误的解释似乎不符合 REST 原则。
EDIT #2 我真的需要一种兼容 3.5 的方式来执行此操作;很抱歉一开始没有具体说明。
【问题讨论】:
-
为什么不将 httpWebrequest 包装在自己的代理中,以便您在一个地方处理异常,然后您的其余代码可以处理状态?
-
在 DAL 层中捕获异常,使其对应用程序的其余部分隐藏?
-
我根本不希望异常在我的代码中传达有关完全有效响应的信息,如果可能的话,隐藏异常并不能解决这个问题。
-
@jdoig 确实如此,您在包装器中捕获异常,并返回您可以使用的东西。
标签: c# rest couchdb http-status-code-404