/// <summary> /// Executes the queue data access handler. /// </summary> /// <param name="handler">The handler.</param> /// <param name="serviceOperation">The service operation.</param> private void ExecuteQueueDataAccessHandler(OrganizationQueueDataAccessHandler handler, IServiceOperation serviceOperation) { var queueManagementOperation = serviceOperation as QueueManagementOperation; AsyncServiceException.Assert(queueManagementOperation != null, "错误的服务操作类型。"); var organizationConfiguration = queueManagementOperation.OrganizationConfiguration; IQueueDataAccess queueDataAccess = _dataAccessFactory.CreateInstance(this, organizationConfiguration); handler(queueDataAccess, organizationConfiguration); }
/// <summary> /// Creates the queue management operation. /// </summary> /// <param name="name">The name.</param> /// <param name="handler">The handler.</param> /// <returns></returns> private IServiceOperation CreateQueueManagementOperation(string name, OrganizationQueueDataAccessHandler handler) { return OperationsFactory.CreateQueueManagementOperation(InstanceName, name, Configuration.OrganizationConfiguration, operation => ExecuteQueueDataAccessHandler(handler, operation)); }