【发布时间】:2015-02-10 14:01:31
【问题描述】:
我正在使用 Web 服务来获取长数组中的一些结果,如下所示:
try
{
System.Threading.ThreadPool.QueueUserWorkItem((o) =>
{
byte[] result = (new MagfaGetMessages()).getMessages(false,SMSUseProxy,SMSProxyAddress,SMSProxyUserName,SMSProxyPassword,1000);
});
}
}
catch
{
SMSwebServiceFailed = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss:ff");
}
// GetMessage Class
public MAGFAWebService.DatedCustomerReturnIncomingFormat[] getMessages(Boolean useProxy, String proxyAddress, String proxyUsername, String proxyPassword, String username, String password, String domain, int numberOfMessages)
{
lock (MagfaLock)
{
MAGFAWebService.SoapSmsQueuableImplementationService sq = new MAGFAWebService.SoapSmsQueuableImplementationService();
if (useProxy)
{
WebProxy proxy;
proxy = new WebProxy(proxyAddress);
proxy.Credentials = new NetworkCredential(proxyUsername, proxyPassword);
sq.Proxy = proxy;
}
sq.Credentials = new System.Net.NetworkCredential(username, password);
sq.PreAuthenticate = true;
return (MAGFAWebService.DatedCustomerReturnIncomingFormat[])sq.getMessages(domain, numberOfMessages);
}
}
但有时我会收到此错误:
The request failed with HTTP status 504: Gateway Time-out.
我在代码中使用了 try{} catch,我想知道为什么会出现错误以及为什么它没有被捕获?
错误将出现在这一行:
MAGFAWebService.DatedCustomerReturnIncomingFormat[])sq.getMessages(domain, numberOfMessages
感谢您的帮助。
【问题讨论】:
标签: c#