Пример #1
0
        public static PrivateClient CreateClient(ServerSettings settings = null)
        {
            // create copy to protect against external changes
            var settingToUse = settings == null ? new PrivateServerSettings() : new PrivateServerSettings
            {
                ServerUrl         = settings.ServerUrl,
                Version           = settings.Version,
                AutoDetectVersion = settings.AutoDetectVersion
            };

            PrivateClient client = new PrivateClient(settingToUse.ReadOnly());

            if (settingToUse.AutoDetectVersion)
            {
                using (var session = client.CreateSession(PrivateAuthentication.NoCredentials))
                {
                    settingToUse.Version = session.Call(MetaDataRequest.DetectCurrentVersion());
                }
            }
            return(client);
        }
Пример #2
0
        public static IPrivateClient CreateClient(IServerSettings settings = null)
        {
            // create copy to protect against external changes
            var settingToUse = settings == null ? new PrivateServerSettings() : new PrivateServerSettings
            {
                ServerUrl                = settings.ServerUrl,
                Version                  = settings.Version,
                AutoDetectVersion        = settings.AutoDetectVersion,
                HttpClientHandlerFactory = settings is PrivateServerSettings.IExtraSettings ? ((PrivateServerSettings.IExtraSettings)settings).HttpClientHandlerFactory : null,
                LoggerFactory            = settings is PrivateServerSettings.IExtraSettings ? ((PrivateServerSettings.IExtraSettings)settings).LoggerFactory : new LoggerFactory(),
            };

            PrivateClient client = new PrivateClient(settingToUse.ReadOnly());

            if (settingToUse.AutoDetectVersion)
            {
                using (var session = client.CreateSession(PrivateAuthentication.NoCredentials))
                {
                    settingToUse.Version = session.Call(MetaDataRequest.DetectCurrentVersion());
                }
            }
            return(client);
        }