我做了个订阅系统,先实现的是下面的绿色代码,没有采用异步订阅,运行都很正常. [OperationContract(IsOneWay = true)]
void Subscribe(Guid id); try
{
m_proxy.Subscribe(m_guid);
subscribed = true;
}
catch (Exception Ex)
{
MessageBox.Show(Ex.Message);
}
但是,当我修改为下面的红色代码时,采用异步来实现订阅动作,却出现了问题. 服务正常连接断开都正常,但我故意断开客户端网络连接时,当异步订阅时,就没有出现网络访问异常报告,而是报告回调错误System .ServiceModel .Diagnostics.callbackException程序就退出了! 而同步时,会报告网络访问异常报告,程序还是可以使用,不会退出!请教下! 这个是什么问题啊? 该如何处理?非常感谢! try
{
m_proxy.BeginSubscribe(m_guid, OnLinkFuwuqiCompletionStartAutoForBeginSub, null);
}
catch (Exception Ex)
{
MessageBox.Show(Ex.Message);
}
void OnLinkFuwuqiCompletionStartAutoForBeginSub(IAsyncResult asyncResult)
{
m_proxy.EndSubscribe(asyncResult);
subscribed = true;
}
void Subscribe(Guid id); try
{
m_proxy.Subscribe(m_guid);
subscribed = true;
}
catch (Exception Ex)
{
MessageBox.Show(Ex.Message);
}
但是,当我修改为下面的红色代码时,采用异步来实现订阅动作,却出现了问题. 服务正常连接断开都正常,但我故意断开客户端网络连接时,当异步订阅时,就没有出现网络访问异常报告,而是报告回调错误System .ServiceModel .Diagnostics.callbackException程序就退出了! 而同步时,会报告网络访问异常报告,程序还是可以使用,不会退出!请教下! 这个是什么问题啊? 该如何处理?非常感谢! try
{
m_proxy.BeginSubscribe(m_guid, OnLinkFuwuqiCompletionStartAutoForBeginSub, null);
}
catch (Exception Ex)
{
MessageBox.Show(Ex.Message);
}
void OnLinkFuwuqiCompletionStartAutoForBeginSub(IAsyncResult asyncResult)
{
m_proxy.EndSubscribe(asyncResult);
subscribed = true;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货