Azure Тайм-аут соединения с Cognititve search API - PullRequest
0 голосов
/ 08 января 2020

Создал образец azure службы поиска и импортировал образцы данных для него, способен получать данные с помощью azure когнитивного поиска API от Postman, но получает следующее исключение

'SocketException: соединение попытка не удалась, потому что подключенная сторона не ответила должным образом через некоторое время, или не удалось установить установленное соединение, потому что подключенный хост не смог ответить '

internal async Task<string> Getresult()
{
    HttpClient client = new HttpClient();
    client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("api-key", adminApiKey);
    var result = await client.GetAsync(searchServiceName);//line where exception occurs
    string resultContent = result.Content.ReadAsStringAsync().Result;
    return resultContent;
}

Модифицированный код

internal async Task<Hotel> Getresult(string search)
{
    SearchIndexClient indexClient = new SearchIndexClient(searchServiceName, "hotels-sample-index", new SearchCredentials(adminApiKey));
    var results = indexClient.Documents.Search<Hotel>("*");
    return results;
}

получает ошибку

'не может неявно преобразовать тип' Microsoft. Azure .Search.Models.DocumentSearchResult 'в' Models.Hotel ''

enter image description here

1 Ответ

0 голосов
/ 08 января 2020

Вы должны использовать Azure Cognitive Search API. Это намного проще:

1-установочный пакет Microsoft. Azure .Search

SearchIndexClient indexClient = new SearchIndexClient(searchServiceName, indexName, new SearchCredentials(queryApiKey));

ISearchIndexClient indexClient = serviceClient.Indexes.GetClient(indexName);

var results = indexClient.Documents.Search<Hotel>("motel", parameters);

https://docs.microsoft.com/en-us/azure/search/search-howto-dotnet-sdk

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...