azure-sdk-for-net выдает исключение на Mac - PullRequest
0 голосов
/ 21 ноября 2018

Я пытаюсь использовать SDK API анализа текста Azure для dotnet ( в основном этот пакет nuget ).Я использую Mac.

Я получаю следующее исключение при запуске кода (я использую Mac):

Формат значения 'Darwin17.7.0DarwinKernelVersion17.7.0WedOct10230614PDT2018rootxnu-4570.71.131 / RELEASE_X86_64 'недопустимо.

Этот код вызывает исключение:

var serviceClientCredentials = new AzureApiKeyServiceClientCredentials("<key>");
// Throw an exception here
var client = new TextAnalyticsClient(_serviceClientCredentials);

Класс ServiceClientCredentials:

public class AzureApiKeyServiceClientCredentials : ServiceClientCredentials
{
    private readonly string _subscriptionKey;

    public AzureApiKeyServiceClientCredentials(string subscriptionKey)
    {
        _subscriptionKey = subscriptionKey;
    }

    public override Task ProcessHttpRequestAsync(HttpRequestMessage request, CancellationToken cancellationToken)
    {
        request.Headers.Add("Ocp-Apim-Subscription-Key", _subscriptionKey);

        return base.ProcessHttpRequestAsync(request, cancellationToken);
    }
}

Источник проблемы :

После попытки понять исходный код я обнаружил, что TextAnalyticsClient пытается установить ключ / значение заголовка, и значение не является действительным значением заголовка http (то есть Darwin..../RELEASE_X86_64).Более конкретно, я вижу в источнике, он устанавливает OsVersion в заголовке HttpClient, и это не является дружественным для URL значением, а HttpClient выдает исключение:

this.UpdateDefaultUserAgentList("OSVersion", this.OsVersion);

Я создал выпуск на GitHub .Итак, все, что им нужно сделать, чтобы это исправить, это всегда звонить CleanUserAgentInfoEntry(_osVersion).

Я вижу в их источнике, что они получают OsVersion от new PlatformInfo();, и яИнтересно, можно ли изменить RuntimeInformation.OSDescription

Обновление : Я создал запрос на получение , чтобы исправить проблему.

1 Ответ

0 голосов
/ 22 ноября 2018

Я только что решил проблему, благодаря @ shahabhijeet .Я установил последнюю версию Microsoft.Rest.ClientRuntime, и это решило проблему.

Тема выпуска GitHub: https://github.com/Azure/azure-sdk-for-net/issues/5046

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