예제 #1
0
    // 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);
    }
예제 #2
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="data"></param>
 public UserService(DataContext data)
 {
     _dataContext     = data;
     _reporsitory     = new UserRepository(data);
     _userStateHolder = new UserStateHolder();
 }