/// <summary> /// <para> /// Consume the <see cref="CimMethodResultBase"/> of async operations /// </para> /// </summary> /// <param name="asyncResult"></param> /// <param name="className"></param> /// <param name="methodName"></param> /// <param name="cimResultContext"></param> protected void ConsumeCimInvokeMethodResultAsync( IObservable<CimMethodResultBase> asyncResult, String className, String methodName, CimResultContext cimResultContext) { CimMethodResultObserver observer = new CimMethodResultObserver(this.session, asyncResult, cimResultContext) { ClassName = className, MethodName = methodName }; observer.OnNewResult += this.ResultEventHandler; this.operationID = Interlocked.Increment(ref gOperationCounter); this.AddOperation(asyncResult); this.CancelOperation = asyncResult.Subscribe(observer); this.FireOperationCreatedEvent(this.CancelOperation, asyncResult); }
protected void ConsumeCimInvokeMethodResultAsync(IObservable<CimMethodResultBase> asyncResult, string className, string methodName, CimResultContext cimResultContext) { CimMethodResultObserver cimMethodResultObserver = new CimMethodResultObserver(this.session, asyncResult, cimResultContext); cimMethodResultObserver.ClassName = className; cimMethodResultObserver.MethodName = methodName; CimMethodResultObserver cimMethodResultObserver1 = cimMethodResultObserver; cimMethodResultObserver1.OnNewResult += new CimResultObserver<CimMethodResultBase>.ResultEventHandler(this.ResultEventHandler); this.operationID = Interlocked.Increment(ref CimSessionProxy.gOperationCounter); this.AddOperation(asyncResult); this.CancelOperation = asyncResult.Subscribe(cimMethodResultObserver1); this.FireOperationCreatedEvent(this.CancelOperation, asyncResult); }