Пример #1
0
        public async Task <IClientApi> GetOrCreate(IClientSettings clientSettings, string ipAddress, int port)
        {
            var serverAddress = $"{ipAddress}:{port}";

            if (_memoryCache.TryGetValue(serverAddress, out IClientApi clientApi))
            {
                return(clientApi);
            }

            clientApi = await ClientFactory.BuildTempClientAsync(clientSettings, ipAddress, port).ConfigureAwait(false);

            _memoryCache.Set(serverAddress, clientApi, new MemoryCacheEntryOptions().SetSlidingExpiration(SlidingExpiration));

            return(clientApi);
        }