我只是对此很好奇。我在这个项目中做了一个改变,那就是使用NetSuite web服务,有时它会随机抛出一个SoapException,“一次只能对一个会话发出一个请求”。
private NetSuiteService _service;
SessionResponse response = _service.login(passport); //if SoapException, retries??
Status status = response.status;
Reference.cs:
public partial class NetSuiteService :
System.Web.Services.Protocols.SoapHttpClientProtocol我的问题是:如果我在调试模式下,我跟踪它,然后点击F5,在抛出异常之后似乎会自动重试(代码继续运行,没有实现try catch块,没有while循环),直到成功(status.isSuccess == true)。当我以发布模式运行它时,作为一项windows服务,日志显示它在抛出异常后停止运行。
这怎麽可能?在try catch块中捕获此异常并重试是否更好?
发布于 2013-07-17 14:01:51
如果NS Server已经在处理来自同一用户的请求,则NS Server将拒绝该请求。
如果您希望确保请求成功,则必须捕获此异常并重试。
发布于 2016-06-03 16:05:48
这不是我的经历。我们认为这与netsuite会话有关,但事实证明根本与此无关,实际上甚至没有影响到netsuite (根据netsuite日志)。事实证明,我们试图在单个请求中执行太多命令,但它完全拒绝将其发送到netsuite。以前从来没有见过这个错误,可能是新版本的新东西!
https://stackoverflow.com/questions/17677685
复制相似问题