示例#1
0
        /// <summary>
        /// Creates new instance of <see cref="AbstractRefreshClient{TClient}"/>
        /// </summary>
        /// <param name="clientProvider">Provider for a refreshable instance of the client</param>
        /// <param name="refreshPolicy">Policy for actions to take on request failure</param>
        public AbstractRefreshClient(IClientMaintainer <TClient> clientProvider, RefreshPolicy refreshPolicy)
        {
            Guard.ArgumentIsNotNull(nameof(clientProvider), clientProvider);
            Guard.ArgumentIsNotNull(nameof(refreshPolicy), refreshPolicy);

            ClientProvider = clientProvider;
            RefreshHandler = refreshPolicy;
        }
示例#2
0
 public CloudTableRefreshClient(IClientMaintainer <CloudTableClient> clientProvider)
     : base(
         clientProvider,
         RefreshPolicy.HandleException <StorageException>(
             x => x.RequestInformation?.HttpStatusCode == (int)HttpStatusCode.Forbidden,
             clientProvider.RefreshClient))
 {
 }
示例#3
0
 /// <summary>
 /// Initializes a new instance of <see cref="DocumentRefreshClient"/>
 /// This will refersh on HttpStatusCode 401(Unauthorized)
 /// </summary>
 /// <param name="clientProvider"></param>
 public DocumentRefreshClient(IClientMaintainer <DocumentClient> clientProvider)
     : base(clientProvider, RefreshPolicy.HandleException <DocumentClientException>(
                x => x.StatusCode == HttpStatusCode.Unauthorized, clientProvider.RefreshClient))
 {
 }