예제 #1
0
        private new TableauServerSignIn SignIn(TableauServerUrls onlineUrls, string userName, string password, ILogger logger)
        {
            var l = new TableauServerSignIn(onlineUrls, userName, password, HttpClientFactory, logger);

            l.ExecuteRequest();
            return(l);
        }
예제 #2
0
        protected TableauServerSignIn SignIn(TableauServerUrls onlineUrls, string userName, string password, ILogger logger)
        {
            var signIn = Cacher.FindOrCreate(
                Cache.CreateKey(onlineUrls.CacheKey, userName, password),
                key =>
            {
                var l = new TableauServerSignIn(onlineUrls, userName, password, HttpClientFactory, logger);
                l.ExecuteRequest();
                return(new CacheEntry <TableauServerSignIn>(l, Options.LoginCacheTimeout));
            }).Value;

            return(signIn);
        }
예제 #3
0
        protected TableauBaseService(IOptions <TableauSignInOptions> options,
                                     ITableauUserCredentials tableauUserCredentials,
                                     IHttpClientFactory httpClientFactory,
                                     ILogger logger,
                                     ICacher cacher = null)
        {
            TableauUserCredentials = tableauUserCredentials;
            Logger            = logger;
            Cacher            = cacher ?? Cache.Passthrough;
            Options           = options.Value;
            Urls              = TableauServerUrls.FromContentUrl(Options.RestApiUrl, 10);
            HttpClientFactory = httpClientFactory;

            Login = SignIn(Urls, TableauUserCredentials.UserName, TableauUserCredentials.Password, logger);

            IsSignedIn = Login.IsSignedIn;
        }
예제 #4
0
 public DownloadProjectsList(TableauServerUrls onlineUrls, TableauServerSignIn login, IHttpClientFactory httpClientFactory)
     : base(onlineUrls, login, httpClientFactory)
 {
 }