Ошибка обновления .NET 8 GetAsync System.FormatException: входная строка имела неправильный формат. Ошибка анализа вблизC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка обновления .NET 8 GetAsync System.FormatException: входная строка имела неправильный формат. Ошибка анализа вблиз

Сообщение Anonymous »

Я только что обновил наш проект с .NET 6 (работает отлично) до .NET 8. Я сталкиваюсь с периодическими проблемами при отправке запроса с помощью HttpClient (

Код: Выделить всё

System.Net.Http
) с помощью GetAsync/PostAsync/SendAsync со следующей ошибкой:

System.FormatException: входная строка имела неправильный формат . Не удалось выполнить анализ вблизи смещения 2. Ожидается цифра ASCII.
в System.Text.StringBuilder.AppendFormatHelper (поставщик IFormatProvider, формат String, ReadOnlySpan

Код: Выделить всё

1 args)   at System.Text.StringBuilder.AppendFormat(String format, Object[] args)   at Prometheus.MeterAdapter.TranslateInstrumentDescriptionToPrometheusHelp(Instrument instrument)   at Prometheus.MeterAdapter.OnInstrumentPublished(Instrument instrument, MeterListener listener)   at System.Diagnostics.Metrics.Instrument.Publish()    at System.Diagnostics.Metrics.UpDownCounter
1..ctor (счетчик, имя строки, единица измерения строки, описание строки, IEnumerable

Код: Выделить всё

1 tags)     > at  System.Diagnostics.Metrics.Meter.c__DisplayClass37_0
1.b__0()

at System.Diagnostics.Metrics.Meter.GetOrCreateInstrument[T
](Тип InstrumentType, Имя строки, Единица измерения строки, Описание строки, IEnumerable

Код: Выделить всё

1 tags, Func
1 InstrumentCreator)

at System.Net.Http.Metrics.MetricsHandler..ctor(HttpMessageHandler InternalHandler, IMeterFactorymeterFactory, Meter&meter)

at System.Net .Http.SocketsHttpHandler.SetupHandlerChain()

at System.Net.Http.SocketsHttpHandler.SendAsync(запрос HttpRequestMessage, CancellationToken cancelToken)

at Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.g__Core|5_0(запрос HttpRequestMessage, Boolean useAsync, CancellationToken cancelToken)

в Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.g__Core|5_0(запрос HttpRequestMessage, логическое значение useAsync, CancellationToken cancelToken)

в System.Net.Http.HttpClient.g__Core|83_0 (запрос HttpRequestMessage, HttpCompletionOption завершениеOption, CancellationTokenSource cts, логическое значение DisposeCts, CancellationTokenSource pendingRequestsCts, CancellationToken originalCancellationToken)

в MyService.GetUsers(Guid clientid) в /app/src/Users/contact.cs:line ##

код:

Код: Выделить всё

var url = $"{BaseUrl}/user?contact=12";

// Error happens on this line
var responseData = await _client.GetAsync(url);
У меня есть еще одна строка кода, использующая PostAsync, и при этом вызове я тоже получаю эту периодическую ошибку:

Код: Выделить всё

var url = $"{BaseUrl}/users/search";
var request = new UserSearchRequest
{
Username = username,
FamilyId = familyid,
RelationId = relationid,
};

var requestBody = new StringContent(JsonConvert.SerializeObject(request, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }), Encoding.UTF8, "application/json");

// error happens on this line too
var responseData = await _client.PostAsync(url, requestBody);
Судя по журналу, запрос вообще не отправляется. Что я сделал не так?
Кто-нибудь сталкивался с этой проблемой раньше? Кто-нибудь поможет, пожалуйста? Большое вам спасибо.
Я тоже пробовал использовать SendAsync, и он все равно периодически получал эту ошибку. Я также проверил все обновления пакетов для .NET 8, но поправьте меня, если я ошибаюсь, эта библиотека System.Net.Http на самом деле поставляется с .NET 8.
Я ожидаю, что GetAsync/SendAsync/PostAsync отправит запрос без ошибок, как в предыдущей версии .NET 6, которая уже находится в ПРОИЗВОДСТВЕ.


Подробнее здесь: https://stackoverflow.com/questions/792 ... s-not-in-a
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»