void ReceiveCommand(); } public static class Global { public static List<ISeviceCallBack> callBacks = new List<ISeviceCallBack>(); } [ServiceBehavior] public class Service : IService,IDisposable { ISeviceCallBack callBack; #region IService Members public Service() { callBack = System.ServiceModel.OperationContext.Current.GetCallbackChannel<ISeviceCallBack> ();
Global.callBacks.Add(callBack);
}
/// <summary> /// 当服务端调用这个时,向终端发命令 /// </summary> public void Operation() {
foreach (var r in Global.callBacks) { r.ReceiveCommand(); } } /// <summary> /// 当终端调用时,向服务端发命令 /// </summary> public void UpdateStatus() { foreach (var r in Global.callBacks) { r.ReceiveStatus(); } }
#endregion
#region IDisposable Members
public void Dispose() { Global.callBacks.Remove(this.callBack); }