Возврат Cognitive Face API Нет результатов из веб-приложения - PullRequest
0 голосов
/ 29 марта 2019

Я использую 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.

1 Ответ

0 голосов
/ 29 марта 2019
private const string faceEndpoint = 
"https://southeastasia.api.cognitive.microsoft.com/";

надеюсь, это должно работать

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