日期:2014-05-20  浏览次数:20881 次

WCF 聊天室 如何写 下线事件!
模版程序是 http://www.cnblogs.com/jillzhang/archive/2008/02/24/1079339.html

WCF 的 事件广播 改写的 聊天室 ;

用户 下线 抛出 异常 ,因为 没写 下线 事件 

C# code

void Server_OnAdd(object sender, CallbackEventArg e)
{
    try
    {
       if (e != null && e.Job != null)
       {
           callBack.OnAdd(e.Job);
       }
       }
       catch (Exception ex)
       {
           Console.WriteLine(ex.Message);
       }
}



请 大家 写在 源程序 给我 改改 ,谢谢 大家!

------解决方案--------------------
简单看了下代码 
的确没有下线代码,问题是模版程序模板程序使用这个:
public static event ServerEventHanlder OnStatusChanged
遍历客户端进行回调.
按模板那种写法很难做到在客户端下线时从ServerEventHanlder 中移除对应委托.
建议你该写模板使用一个Dictionary存储每个客户端的CallBack
http://blog.csdn.net/lhzyn/archive/2008/04/01/2234496.aspx