繁体   English   中英

从Begin方法返回的IAsyncResult为null?

[英]IAsyncResult returned from Begin method is null?

如果我收到一些错误,我需要返回null。 但这引发了

IAsyncResult returned from Begin method is null.

这是我的代码?

        try
        {
            var url = (string)state;
            var request = (HttpWebRequest)WebRequest.Create(url);
            return request.BeginGetResponse(cb, request);
        }
        catch (Exception ex)
        { 
        }
        return null;

如何返回空的IAsyncResult?

只需实现此界面即可。

public class NullAsyncResult : IAsyncResult
{
public object AsyncState
{
get { return null; }
}

public System.Threading.WaitHandle AsyncWaitHandle
{
get { return null; }
}

public bool CompletedSynchronously
{
get { return true; }
}

public bool IsCompleted
{
get { return true; }
}
}

然后在你的代码中:

try
{
var url = (string)state;
var request = (HttpWebRequest)WebRequest.Create(url);
return request.BeginGetResponse(cb, request);
}
catch (Exception ex)
{
}
return NullAsyncResult();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM