Я использую Microsoft Cognitive Face API для реализации функции распознавания лиц для аутентификации человека и входа в приложение.
Для этого я создаю PersonGroup и добавляю Person, а затем Face of Person.Группа Train Person и т. Д.
Я хочу реализовать ее в веб-приложении MVC.Я написал тот же код в веб-приложении MVC.Но API ничего не возвращает и просто зависает при вызове Http-запроса.
Итак. Нужно ли нам получить какой-то другой ключ API для веб-приложения или Нужно ли вносить какие-либо изменения в файл Web.Config для успешного вызова?
Я пробовал то же самоекод в консольном приложении и приложении WPF.Там все отлично работает.
public class HttpClientHelper
{
HttpClient httpClient = new HttpClient();
private const string subscriptionKey = "XXXXXXXXXXXXXXXXXXXXXXXXXX";
private const string faceEndpoint = "https://southeastasia.api.cognitive.microsoft.com/face/v1.0/";
public HttpClientHelper()
{
httpClient.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", subscriptionKey);
httpClient.BaseAddress = new Uri(faceEndpoint);
}
public async Task<T> GetAsync<T>(string url)
{
var response = await httpClient.GetAsync(url);
string contentString = await response.Content.ReadAsStringAsync();
return JsonConvert.DeserializeObject<T>(contentString);
}
}
public static async Task CreatePersonGroup(UserGroup userGroup)
{
bool isGroupExists = false;
PersonGroup personGroup;
try
{
HttpClientHelper httpClientHelper = new HttpClientHelper();
var response = httpClientHelper.GetAsync<PersonGroup>(string.Format("persongroups/{0}", userGroup.UserGroupId)).Result;
isGroupExists = true;
}
catch (APIErrorException ex)
{
if (ex.Body.Error.Code == "PersonGroupNotFound")
isGroupExists = false;
}
if (isGroupExists == false)
{
await faceClient.PersonGroup.CreateAsync(userGroup.UserGroupId, userGroup.Name);
}
}
Я ожидаю, что тот же код должен работать нормально и в веб-приложении.В этом нет большой логики.Просто простой вызов API.