"Произошла одна или несколько ошибок. (Код состояния ответа не указывает на успех: 422 (Необрабатываемый объект).)"
Если я прослежу журналы в приложении API, работающем в Azure, я увижу соответствующую ошибку.
2026-05-02 14:51:56.203 +00:00 [Trace] Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker: выполнение метода действия PushNotificationsAPI.Controllers.NotificationsController.UpdateInstallation (PushNotificationsAPI) с аргументами (PushNotificationsAPI.Models.DeviceInstallation)Подробная ошибка IIS — 422.0 — необрабатываемый объектОшибка HTTP 422.0 – необрабатываемый объект
Пользовательский модуль ошибок не распознает эту ошибку.
Наиболее вероятные причины:
- Модуль установил редко используемый код состояния.
Что можно попробовать:
[*]Выясните, почему модуль установил код состояния.Подробная информация об ошибке:
Модуль AspNetCoreModuleV2Уведомление ExecuteRequestHandlerHandler aspNetCoreОшибка Код 0x00000000Запрошено URL https://push-test-notify:80/api/notific ... Физический путь C:\home\site\wwwroot\api\notifications\installationsВход Метод АнонимныйВход пользователя АнонимныйДополнительная информация:
Любой модуль может вызывать SetStatus со статусом, подстатусом или HRESULT. Пользовательский модуль ошибок отображает сообщения об ошибках, специфичные для состояния, только для хорошо известных ошибок.Просмотреть дополнительную информацию »База знаний Microsoft Статьи:При установке точек останова в коде я вижу, что в этом блоке кода возвращается 422:
Код: Выделить всё
public async Task RegisterDeviceAsync(params string[] tags)
{
var deviceInstallation = DeviceInstallationService?.GetDeviceInstallation(tags);
await SendAsync(HttpMethod.Put, RequestUrl, deviceInstallation)
.ConfigureAwait(false);
await SecureStorage.SetAsync(CachedDeviceTokenKey, deviceInstallation.PushChannel)
.ConfigureAwait(false);
await SecureStorage.SetAsync(CachedTagsKey, JsonSerializer.Serialize(tags));
}
Код: Выделить всё
var deviceInstallation = DeviceInstallationService?.GetDeviceInstallation(tags);
К вашему сведению - не уверен, является ли это причиной или нет, но я использую эмулятор Android для тестирования этого приложения.
Может ли кто-нибудь увидеть, что я делаю неправильно? здесь?