Как перехватывать необработанные исключения при использовании удаленного взаимодействия .NET
-
09-06-2019 - |
Вопрос
Я хочу перехватить все необработанные исключения, генерируемые в удаленном объекте на сервер и зарегистрируйте их там, прежде чем я переведу их в какое-нибудь пользовательское исключение, чтобы конкретные исключения не пересекали границу клиент / сервер.
Я думаю, что мне нужно использовать пользовательскую синхронизацию каналов, но кто-нибудь может подтвердить это и / или дать какие-либо другие советы?
Решение 2
После обнаружения Пекарня Элиягу полезный пост в блоге и чтение главы 12 из Расширенное удаленное взаимодействие Rammer с .NET Я написал пользовательский приемник каналов, который делает то, что я хочу.Это перехватывает любое исключение и регистрирует его локально перед отправкой клиенту.
В идеале я хотел бы зарегистрировать исключение и создать более общее исключение для клиента, но я еще не расколол этот орешек.
Другие советы
Я бы использовал блок приложений для обработки исключений корпоративной библиотеки Microsoft - он позволяет обрабатывать ошибки и преобразовывать определенные типы исключений в исключения другого типа перед повторной отправкой клиенту.