WCF wsDualHttpBinding 当服务器资源回时收怎么保存通道

luther1122 2012-11-14 05:20:46
public List<ICallbackEvents> list_Callback = new List<ICallbackEvents>();
public class xxx:Ixxx
{
/// <summary>
/// 订阅
/// </summary>
/// <param name="id"></param>
public void Subscribe(ClientInfo client, string Sign)
{
if (list_SubscrberId.Where(p=>p.UserName==client.UserName).Count() <= 0)//如果不存在,则添加
{
ICallbackEvents callback = OperationContext.Current.GetCallbackChannel<ICallbackEvents>();//取得通道

list_Callback.Add(callback); //把当前的通道放到list_Callback内
}
}
}

然后用winform客户端去连,用网页发送消息到客户端,都很正常。
现在遇到一个问题:当 服务器资源回收、w3we进程自动重启、手工去修改了一下web.config等情况出现时,会把list_Callback的值重置为null,这样就导致了通道不存在,通道都没有客户商自然也无法接收消息
应该怎么操作才能保存list_Callback内的值?也就是说服务器资源回收、w3we进程自动重启、手工去修改了一下web.config等情况出现时通道还能保持继续使用?
注:不接受客户端不停刷新的方案
...全文
214 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
luther1122 2012-11-15
  • 打赏
  • 举报
回复
求帮助,求解决方案!!

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧