Mscorlib.dll выдает «System.NullReferenceException» при использовании функции SendAsync() в ASP.NET 4.7.2C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Гость
 Mscorlib.dll выдает «System.NullReferenceException» при использовании функции SendAsync() в ASP.NET 4.7.2

Сообщение Гость »


У меня есть веб-приложение (ASP.NET 4.7.2, C#). Я использую HttpClient для выполнения POST-запроса к веб-сервису. Когда дело доходит до выполнения этого ответа = await client.SendAsync(request);

выбрасывает В mscorlib.dll произошло необработанное исключение типа System.NullReferenceException

Я обернул это вокруг try/catch, но исключение не было обнаружено.

Точно такой же код отлично работает в приложении WinForms и в консольном проекте (!!).

Вот исключение, которое я получаю

в System.Web.LegacyAspNetSynchronizationContext.CallCallbackPossibleUnderLock (обратный вызов SendOrPostCallback, состояние объекта) в System.Web.LegacyAspNetSynchronizationContext.CallCallback (обратный вызов SendOrPostCallback, состояние объекта) в System.Web.LegacyAspNetSynchronizationContext.Post (обратный вызов SendOrPostCallback, состояние объекта) в System.Threading.Tasks.SynchronizationContextAwaitTaskContinuation.PostAction (состояние объекта) в System.Threading.Tasks.AwaitTaskContinuation.RunCallback (обратный вызов ContextCallback, состояние объекта, Task&amp;amp; currentTask) --- Конец трассировки стека из предыдущего местоположения --- в System.Threading.Tasks.AwaitTaskContinuation.<>c.<ThrowAsyncIfNecessary>b__18_0(Object s) в System.Threading.QueueUserWorkItemCallback.WaitCallback_Context (состояние объекта) в System.Threading.ExecutionContext.RunInternal(ExecutionContext ExecutionContext, обратный вызов ContextCallback, состояние объекта, логическое сохранениеSyncCtx) в System.Threading.ExecutionContext.Run(ExecutionContext ExecutionContext, обратный вызов ContextCallback, состояние объекта, логическое значение saveSyncCtx) в System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() в System.Threading.ThreadPoolWorkQueue.Dispatch() в System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()System.NullReferenceException: μένου. в System.Web.ThreadContext.AssociateWithCurrentThread(Boolean setImpersonationContext) в System.Web.HttpApplication.OnThreadEnterPrivate (логический setImpersonationContext) в System.Web.LegacyAspNetSynchronizationContext.CallCallbackPossibleUnderLock (обратный вызов SendOrPostCallback, состояние объекта) в System.Web.LegacyAspNetSynchronizationContext.CallCallback (обратный вызов SendOrPostCallback, состояние объекта) в System.Web.LegacyAspNetSynchronizationContext.Post (обратный вызов SendOrPostCallback, состояние объекта) в System.Threading.Tasks.SynchronizationContextAwaitTaskContinuation.PostAction (состояние объекта) в System.Threading.Tasks.AwaitTaskContinuation.RunCallback (обратный вызов ContextCallback, состояние объекта, Task&amp;amp; currentTask) --- Конец трассировки стека из предыдущего местоположения --- в System.Threading.Tasks.AwaitTaskContinuation.<>c.<ThrowAsyncIfNecessary>b__18_0(Object s) в System.Threading.QueueUserWorkItemCallback.WaitCallback_Context (состояние объекта) в System.Threading.ExecutionContext.RunInternal(ExecutionContext ExecutionContext, обратный вызов ContextCallback, состояние объекта, логическое сохранениеSyncCtx) в System.Threading.ExecutionContext.Run(ExecutionContext ExecutionContext, обратный вызов ContextCallback, состояние объекта, логическое значение saveSyncCtx) в System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() в System.Threading.ThreadPoolWorkQueue.Dispatch() в System.Threading._ThreadPoolWaitCallback.PerformWaitCallback() В mscorlib.dll произошло необработанное исключение типа System.NullReferenceException. А вот урезанный код

public async Task SendPostRequestAsync() { конечная точка строки = «имя конечной точки»; URL = URL конечной точки; вар клиент = новый HttpClient (); вар queryString = HttpUtility.ParseQueryString(string.Empty); // добавляем заголовки запроса для аутентификации client.DefaultRequestHeaders.Add(...); client.DefaultRequestHeaders.Add(...); var uri = URL + конечная точка + "?" + строка запроса; Ответ HttpResponseMessage = новый HttpResponseMessage(); byte[] byteData = Encoding.UTF8.GetBytes(bodyxml); используя (var content = новый ByteArrayContent(byteData)) { пытаться { Uri myUri = новый Uri(uri, UriKind.Absolute); Запрос HttpRequestMessage = новый HttpRequestMessage { Метод = HttpMethod.Post, RequestUri = мойUri, Контент = контент }; content.Headers.ContentType = новый MediaTypeHeaderValue («текст/обычный»); //это проверка того, что для действия нет ничего нулевого bool iAmOk = ((клиент != null) && (ответ != null) && (url != null) && (запрос != null) && (bodyxml != null)); if (!iAmOk) { return false; } пытаться { ответ = ожидайте client.SendAsync(запрос); //здесь выбрасываем исключение } поймать (Исключение ex) { строка msg = ex.Message; // сюда никогда не идет } содержимое var = response.Content.ReadAsStringAsync().Result; если (response.StatusCode == HttpStatusCode.OK) { // вызов успешен вернуть истину; } еще { _log.Error("данные об ошибке"); //вызов не удался вернуть ложь; } } поймать (исключение exx) { //здесь это не подходит _log.Error("данные исключения"); вернуть ложь; } } } Я использую
[*]Сообщество Microsoft Visual Studio 2019, версия 16.11.29 [*]ASP.NET и веб-инструменты 2019 16.11.116.46506 [*]Веб-платформы и инструменты ASP.NET 2019 16.11.116.46506 [*].Net Framework 4.7.2
Проблема с типом приложения? Или с какими-то библиотеками?? (нашел этот пост, который выглядит похожим, но пока не имеет ответа. Любой вклад будет оценен!
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • C#, System.Collections.Generic.KeyNotFoundException' произошло в mscorlib.dll
    Anonymous » » в форуме C#
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Выброшено исключение: «System.ArgumentNullException» в mscorlib.ni.dll
    Anonymous » » в форуме C#
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Исключено: 'System.ArgumentNullexception' в mscorlib.ni.dll
    Anonymous » » в форуме C#
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Исключено: 'System.ArgumentNullexception' в mscorlib.ni.dll
    Anonymous » » в форуме C#
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Метод не найден: 'System.String System.String.Format(System.IFormatProvider, System.String, System.Object)
    Anonymous » » в форуме C#
    0 Ответы
    141 Просмотры
    Последнее сообщение Anonymous

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