![](/img/trans.png)
[英]Web api rest service null reference exception thrown on first request
[英]How to deal with exception thrown by Web API controller?
我正在使用Enterprise Tester API导入和更新Web应用程序上的内容。 该程序可以正常工作几个小时,但偶尔会遇到此未处理的异常:
EnterpriseTester.API.Client.dll中发生了类型为'System.Net.Http.HttpRequestException'的未处理异常
附加信息:System.Net.Http.HttpRequestException状态码不表示成功:500(内部服务器错误)
此时,Visual Studio在发生此异常的行处中断。 但是,当我单击“继续”时,程序将再次正常执行。
通过在互联网上搜索,似乎我应该使用try catch
块来处理异常。 我还希望能够稍等片刻,然后再次执行同一行以访问API。
try
{
client.UpdateScriptRun(Id,Run);
}
catch (HttpRequestException e)
{
Console.Writeline("HttpRequestException: {0}", e.Message);
Thread.Sleep(1000);
client.UpdateScriptRun(Id,Run);
}
我不确定是否可以通过这种方式解决此问题,或者我是否需要研究完全不同的解决方案。
如果您能指导我找到适合该问题的解决方案,将不胜感激。 谢谢!
通常,最好跟踪异常的根本原因,并查看是否有解决方法。 如果只是由于网络间歇性问题而发生连接错误,那是一回事,但是500错误表明服务器上出现了问题。 如果您有任何方法可以跟踪并修复服务器端错误,那是最好的方法。
如果您对服务器没有控制权,并且只是想让自己的应用程序正常工作,并且知道服务器偶尔会无故失败,那么尝试/捕获解决方案将有所帮助。 不过,我会提出一些其他建议:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.