Я использую обычную практику обнаружения ошибок в global.asax в моем приложении ASP.net. В global.asax у меня есть функция Application_Error
, которая записывает ошибки в базу данных.
Это очень хорошо работает для регистрации ошибок, возникающих, когда пользователь запрашивает страницу.
Однако это не помогает, когда асинхронный метод (метод, украшенный атрибутом [WebMethod]
), вызываемый со стороны клиента, вызывает исключение. Исключение просто всплывает и может быть возвращено в код на стороне клиента, но я хотел бы, чтобы код обработки ошибок запускался на сервере автоматически, подобно тому, как ошибки страницы регистрируются в global.asax.
Как мне этого добиться? Один из способов - обернуть каждый асинхронный метод с помощью try-catch, но мне это не кажется хорошим решением.