// Asynchronous implementation. /// <summary> /// Handles internal task state and triggering completion activity on appropriate thread via "AsyncOperation". /// </summary> /// <param name="a">Arguments passed to completion code.</param> /// <param name="asyncOp">Responsible for co-ordinating operation threads.</param> protected void AsyncWorkCompletionResult(TEventArgs a, AsyncOperation asyncOp) { UserStateHolder userstate = (UserStateHolder)asyncOp.UserSuppliedState; lock (this.dictTasks.SyncRoot) { this.dictTasks.Remove(userstate.TaskId); } // Call into our completion generic delegate on the appropriate thread. asyncOp.PostOperationCompleted(this.onAsyncWorkCompletedDelegate, a); //asyncOp.PostOperationCompleted(this.CallbackAsyncWorkCompleted, a); }
/// <summary> /// Constructor /// </summary> /// <param name="data"></param> public UserService(DataContext data) { _dataContext = data; _reporsitory = new UserRepository(data); _userStateHolder = new UserStateHolder(); }