Azure 认知搜索 API 连接超时
Azure Cognititve search API connection timeout
创建了一个示例 azure 搜索服务并为其导入了示例数据,能够使用来自 Postman 的 azure 认知搜索 API 获取数据,但出现以下异常
'
SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
'
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;
}
获取错误
'cannot implicitly convert type 'Microsoft.Azure.Search.Models.DocumentSearchResult' to 'Models.Hotel'
'
您应该使用 Azure 认知搜索 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
创建了一个示例 azure 搜索服务并为其导入了示例数据,能够使用来自 Postman 的 azure 认知搜索 API 获取数据,但出现以下异常
' SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond '
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;
}
获取错误
'cannot implicitly convert type 'Microsoft.Azure.Search.Models.DocumentSearchResult' to 'Models.Hotel' '
您应该使用 Azure 认知搜索 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