Ошибка в подключении ядра asp.net (в докере) кasticserch после периода активности - PullRequest
0 голосов
/ 20 октября 2019

У нас есть основной веб-сайт asp.net, развернутый в докере в Debian 9. На той же машине, на которой основное приложение asp.net запрашивает данные, есть контейнер эластичного поиска.

Все работает гладкопримерно до 10 часов приложение завершается с ошибкой: HttpRequestException: Cannot assign requested address ---> System.Net.Sockets.SocketException: Cannot assign requested address

Ошибка возникала чаще (примерно через час), но затем мы применили предложение из Время жизни, упругий поиск документов (который в основном говорит, что у нас должен быть один экземпляр ElasticClient и использовать его для всех соединений. Тогда время до отказа увеличится до 10 часов.


var connectionSettings = new ConnectionSettings(new Uri(server))
                        .DisableDirectStreaming()
                        .DefaultMappingFor<ProductIndexItem>(m => m.IndexName(productsIndexName))
                        .DefaultMappingFor<CompanyIndexItem>(m => m.IndexName(companiesIndexName))
                        .DefaultMappingFor<AutocompleteTerm>(m => m.IndexName(autocompleteIndexName));
if (!string.IsNullOrWhiteSpace(authHeader))
{
    connectionSettings = connectionSettings.GlobalHeaders(new System.Collections.Specialized.NameValueCollection
    {
        { "PcnAuth", authHeader }
    });
}
_client = new ElasticClient(connectionSettings);

Ответ на любой из этих вопросов может быть очень полезным:

1. What does the error say? 
2. How can we fix this error?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...