// called via RPC by monitor public void UnSubscribe() { Console.WriteLine("UnSubscribed"); MonitoringMessageEvent = null; _CancellationToken = new CancellationToken(true); _monitorMessageCalls = null; }
// Contract methods // called via RPC by monitor public void Subscribe() { if (_monitorMessageCalls == null) { Console.WriteLine("Subscribed"); _monitorMessageCalls = OperationContext.Current.GetCallbackChannel <IMonitoringContract>(); _subscribedMonitorHandler = new MethodRanEventHandler(PublishMethodRanHandler); MonitoringMessageEvent = _subscribedMonitorHandler; HeartBeatTask(); } }
private void ConnectionLost() { Console.WriteLine("Connection lost."); MonitoringMessageEvent = null; _monitorMessageCalls = null; }