C# 处理线程中的线程中止异常。。。。?
子线程正在等待Web服务器的响应,并且也有一个超时值C# 处理线程中的线程中止异常。。。。?,c#,asp.net,multithreading,thread-safety,C#,Asp.net,Multithreading,Thread Safety,子线程正在等待Web服务器的响应,并且也有一个超时值 若超时值在从web服务器获得响应之前出现,它将继续请求超时和线程中止异常 我们如何处理此问题并登录到文本文件 父线程 用于跨线程通信的对象 谢谢。据我所知,您在问如果您的子线程超时,如何登录到文件 如果是这样,我相信GetResponse()方法在收到响应之前达到超时限制时会抛出WebException。因此,围绕使用try-catch语句进行GetResponse()调用的行应该允许您将信息记录到文件中 例如: try { WebR
若超时值在从web服务器获得响应之前出现,它将继续请求超时和线程中止异常
我们如何处理此问题并登录到文本文件
父线程 用于跨线程通信的对象
谢谢。据我所知,您在问如果您的子线程超时,如何登录到文件 如果是这样,我相信
GetResponse()
方法在收到响应之前达到超时限制时会抛出WebException
。因此,围绕使用try-catch语句进行GetResponse()
调用的行应该允许您将信息记录到文件中
例如:
try {
WebResponse lWebResponse = lWebRequest.GetResponse;
} catch (WebException ex) {
// Write to file code in here
}
由于GetResponse()
是抽象的,WebException
实际上是由GetResponse()
的或实现引发的
private void CallBackFunc(object obj)
{
UrlData msgObj = (UrlData)obj;
WebRequest lWebRequest = WebRequest.Create(psUrl);
lWebRequest.Timeout = 60000;
WebResponse lWebResponse = lWebRequest.GetResponse;
msgObj.FinishEvent.Set();
}
public class UrlData
{
public Job job;
public ManualResetEvent FinishEvent;
public HttpContext HttpContextRef;
public UrlData(Job pJob, ManualResetEvent pEvent, HttpContext pContext)
{
job= pJob;
FinishEvent = pEvent;
HttpContextRef = pContext;
}
}
try {
WebResponse lWebResponse = lWebRequest.GetResponse;
} catch (WebException ex) {
// Write to file code in here
}