Exemple #1
0
        public IAsyncResult BeginStopMonitoringSession(
            AsyncCallback userCallback, object state)
        {
            SupervisorMonitoringChannel monitoringChannel = _monitoringChannel;

            if (monitoringChannel == null)
            {
                AsyncResultNoResult result = new AsyncResultNoResult(userCallback, state);
                result.SetAsCompleted(null, true);
                return(result);
            }
            _monitoringChannel = null;

            requestType request = _requestProcessor.CreateRequest(ContextChannelRequestType.StopMonitoring);

            request.terminatemonitoringsession           = new terminatemonitoringsessionType();
            request.terminatemonitoringsession.sessionId = monitoringChannel.SessionId;

            ProcessRequestAsyncResult requestAsyncResult =
                new ProcessRequestAsyncResult(request, _requestProcessor, Conversation, ApplicationId,
                                              userCallback, state);

            _requestProcessor.AddPendingRequest(request, requestAsyncResult);

            requestAsyncResult.Process();


            return(requestAsyncResult);
        }
Exemple #2
0
        public void EndStopMonitoringSession(IAsyncResult result)
        {
            AsyncResultNoResult asyncResult = result as AsyncResultNoResult;

            if (asyncResult != null)
            {
                asyncResult.EndInvoke();
            }
            else
            {
                throw new Exception("Invalid async result");
            }
        }