WCF wsDualHttpBinding 当服务器资源回时收怎么保存通道
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等情况出现时通道还能保持继续使用?
注:不接受客户端不停刷新的方案