示例#1
0
        private IEnumerator <IAsyncResult> GetPropertiesImplOld(AccountPropertyNames propertyNames, IAccountCondition condition, CacheRefreshOptions cacheRefreshOptions, AsyncIteratorContext <NoResults> context)
        {
            IAsyncResult asyncResult;

            try
            {
                asyncResult = this.internalAccount.BeginGetProperties(propertyNames, condition, context.GetResumeCallback(), context.GetResumeState("StorageAccount.GetPropertiesImpl"));
            }
            catch (Exception exception)
            {
                StorageStamp.TranslateException(exception);
                throw;
            }
            yield return(asyncResult);

            try
            {
                this.internalAccount.EndGetProperties(asyncResult);
            }
            catch (Exception exception1)
            {
                StorageStamp.TranslateException(exception1);
                throw;
            }
        }
示例#2
0
        IAsyncResult Microsoft.Cis.Services.Nephos.Common.Storage.IContainer.BeginGetProperties(ContainerPropertyNames propertyNames, IContainerCondition condition, CacheRefreshOptions cacheRefreshOptions, bool shouldUpdateCacheEntryOnRefresh, AsyncCallback callback, object state)
        {
            AsyncIteratorContext <NoResults> asyncIteratorContext = new AsyncIteratorContext <NoResults>("DbBlobContainer.GetProperties", callback, state);

            asyncIteratorContext.Begin(this.GetPropertiesImpl(propertyNames, condition, asyncIteratorContext));
            return(asyncIteratorContext);
        }
示例#3
0
        public IAsyncResult BeginGetProperties(AccountPropertyNames propertyNames, IAccountCondition condition, CacheRefreshOptions cacheRefreshOptions, int localCacheEntryTimeInTicks, AsyncCallback callback, object state)
        {
            AsyncIteratorContext <NoResults> asyncIteratorContext = new AsyncIteratorContext <NoResults>("StorageAccount.GetProperties", callback, state);

            asyncIteratorContext.Begin(this.GetPropertiesImpl(propertyNames, condition, cacheRefreshOptions, asyncIteratorContext));
            return(asyncIteratorContext);
        }
示例#4
0
 private IEnumerator <IAsyncResult> GetPropertiesImpl(AccountPropertyNames propertyNames, IAccountCondition condition, CacheRefreshOptions cacheRefreshOptions, AsyncIteratorContext <NoResults> context)
 {
     return(this.GetPropertiesImplOld(propertyNames, condition, cacheRefreshOptions, context));
 }
示例#5
0
        private IEnumerator <IAsyncResult> GetQueueImpl(IAccountIdentifier identity, string account, string queue, PermissionLevel permission, ContainerPropertyNames propertyNames, CacheRefreshOptions cacheRefreshOptions, TimeSpan timeout, RequestContext requestContext, AsyncIteratorContext <IQueueContainer> context)
        {
            RemainingTime remainingTime = new RemainingTime(timeout);
            IAsyncResult  asyncResult   = this.authorizationManager.BeginCheckAccess(identity, account, null, null, permission, remainingTime, context.GetResumeCallback(), context.GetResumeState("QueueManager.GetQueueImpl"));

            yield return(asyncResult);

            this.authorizationManager.EndCheckAccess(asyncResult);
            string          str            = account;
            string          str1           = queue;
            IStorageAccount storageAccount = this.storageManager.CreateAccountInstance(str);
            IQueueContainer queueContainer = storageAccount.CreateQueueContainerInstance(str1);

            queueContainer.Timeout = remainingTime;
            asyncResult            = queueContainer.BeginGetProperties(propertyNames, null, cacheRefreshOptions, context.GetResumeCallback(), context.GetResumeState("QueueManager.GetQueueImpl"));
            yield return(asyncResult);

            queueContainer.EndGetProperties(asyncResult);
            context.ResultData = queueContainer;
        }
示例#6
0
        private IAsyncResult BeginGetQueue(IAccountIdentifier identity, string account, string queue, PermissionLevel permission, ContainerPropertyNames propertyNames, CacheRefreshOptions cacheRefreshOptions, TimeSpan timeout, RequestContext requestContext, AsyncCallback callback, object state)
        {
            AsyncIteratorContext <IQueueContainer> asyncIteratorContext = new AsyncIteratorContext <IQueueContainer>("QueueManager.GetQueue", callback, state);

            asyncIteratorContext.Begin(this.GetQueueImpl(identity, account, queue, permission, propertyNames, cacheRefreshOptions, timeout, requestContext, asyncIteratorContext));
            return(asyncIteratorContext);
        }
示例#7
0
        public IAsyncResult BeginGetProperties(ContainerPropertyNames propertyNames, IContainerCondition condition, CacheRefreshOptions cacheRefreshOptions, bool shouldUpdateCacheEntryOnRefresh, AsyncCallback callback, object state)
        {
            AsyncIteratorContext <NoResults> asyncIteratorContext = new AsyncIteratorContext <NoResults>("DbTableContainer.GetProperties", callback, state);

            asyncIteratorContext.Begin(this.GetPropertiesImpl(propertyNames, condition, asyncIteratorContext));
            return(asyncIteratorContext);
        }
示例#8
0
        private IEnumerator <IAsyncResult> GetPropertiesNoCacheSynchronizationImpl(ContainerPropertyNames propertyNames, IContainerCondition condition, CacheRefreshOptions cacheRefreshOptions, bool shouldUpdateCacheEntryOnRefresh, AsyncIteratorContext <NoResults> context)
        {
            IAsyncResult asyncResult;

            try
            {
                asyncResult = this.container.BeginGetProperties(propertyNames, Helpers.Convert(condition), context.GetResumeCallback(), context.GetResumeState("BlobContainer.GetPropertiesImpl"));
            }
            catch (Exception exception)
            {
                StorageStamp.TranslateException(exception);
                throw;
            }
            yield return(asyncResult);

            try
            {
                this.container.EndGetProperties(asyncResult);
            }
            catch (Exception exception1)
            {
                StorageStamp.TranslateException(exception1);
                throw;
            }
        }
示例#9
0
        private IEnumerator <IAsyncResult> GetPropertiesImpl(ContainerPropertyNames propertyNames, IContainerCondition condition, CacheRefreshOptions cacheRefreshOptions, bool shouldUpdateCacheEntryOnRefresh, AsyncIteratorContext <NoResults> context)
        {
            IAsyncResult asyncResult = this.Account.BeginGetProperties(AccountPropertyNames.None, null, context.GetResumeCallback(), context.GetResumeState("Container.GetPropertiesImpl"));

            yield return(asyncResult);

            this.Account.EndGetProperties(asyncResult);
            asyncResult = this.BeginGetPropertiesNoCacheSynchronization(propertyNames, condition, cacheRefreshOptions, shouldUpdateCacheEntryOnRefresh, context.GetResumeCallback(), context.GetResumeState("Container.GetPropertiesImpl"));
            yield return(asyncResult);

            this.EndGetPropertiesNoCacheSynchronization(asyncResult);
        }
示例#10
0
        private IAsyncResult BeginGetPropertiesNoCacheSynchronization(ContainerPropertyNames propertyNames, IContainerCondition condition, CacheRefreshOptions cacheRefreshOptions, bool shouldUpdateCacheEntryOnRefresh, AsyncCallback callback, object state)
        {
            AsyncIteratorContext <NoResults> asyncIteratorContext = new AsyncIteratorContext <NoResults>("RealBlobContainer.GetPropertiesNoCacheSynchronization", callback, state);

            asyncIteratorContext.Begin(this.GetPropertiesNoCacheSynchronizationImpl(propertyNames, condition, cacheRefreshOptions, shouldUpdateCacheEntryOnRefresh, asyncIteratorContext));
            return(asyncIteratorContext);
        }
示例#11
0
 public IAsyncResult BeginGetProperties(ContainerPropertyNames propertyNames, IContainerCondition condition, CacheRefreshOptions cacheRefreshOptions, AsyncCallback callback, object state)
 {
     return(this.BeginGetProperties(propertyNames, condition, cacheRefreshOptions, true, callback, state));
 }