回调继续

时间:2013-03-21 18:02:09

标签: c# wcf callback wcf-binding

在下面的代码(wcf服务器)中,如果客户端断开连接,我希望代码继续处理。现在它跳转到catch语句并停止处理。回调的目的最终将在请求进度时更新客户端,但客户端可以在任何阶段断开连接,并且我希望继续处理。

   public void ChatToServer(string texttoServer) // send some text to the server
        {
            Logging.Write_To_Log_File("Entry", MethodBase.GetCurrentMethod().Name, "", "", "", 1);

            try
            {

                Thread.Sleep(5000);
                IMyContractCallBack callback = OperationContext.Current.GetCallbackChannel<IMyContractCallBack>();
                callback.callbacktoServer("Progress is 20% complete");
                // Some extremely important processing
                ....
                callback.callbacktoServer("Progress is 40% complete");
                // Some extremely important processing
                ....
                callback.callbacktoServer("Progress is 60% complete");
                // Some extremely important processing
                ....
                callback.callbacktoServer("Progress is 80% complete");    

                // Some extremely important processing
                ....
                callback.callbacktoServer("Progress is 100% complete");                                   
            }
            catch (Exception ex)
            {

            }

        }

1 个答案:

答案 0 :(得分:2)

如果我正确理解你,你需要做的就是从你的回叫电话中捕获通信错误并忽略它们 - 你可能想要用自己的方法调用回调电话,这样你就不会#39; t必须为每个进度通知网站重复异常处理逻辑。