我正在通过httpwebrequest调用Web服务并获取响应。 Web服务旨在全天候运行。构建调用Web服务的代码的最佳方式
构建此代码的最佳方法是什么?检查服务是否“可用”?
我有什么:
if (NetworkIsAvailable())
{
// Call web service
// Handle exceptions within here.
}
else
{
// to throw a relevant exception that there is no network
}
是否明智抛出一个异常,或者只是返回false?该svc不应该下降
这取决于NetworkIsAvailable()正在做什么以查看它是否可用。实际记录或显示某些“可用”的原因的例外可能是有用的。没有什么是100%的正常运行时间,所以检查是非常明智的。 – 2012-01-30 17:33:48
我亲自在try/catch中运行它。我发现网络关闭的异常,并返回JSON声明。 – 2012-01-30 17:35:35
除非您确定无需知道呼叫失败的原因(不太可能),否则会抛出异常。 (或者,如果你想强制调用者处理可能的失败,那么返回某种错误代码对象,但在C#中这不是真正的惯用方法。)'false'和'null'是可怕的错误指示符。 – millimoose 2012-01-30 17:56:32