Я довольно хорошо разбираюсь в использовании локализации в простом приложении с интерфейсом WPF.
Сейчас я нахожусь в процессе разработки клиент-серверной архитектуры WCF; Я хочу иметь возможность создавать различные типы исключений на сервере и получать сообщение об ошибке в культуре клиента.
Это кажется достаточно простым - каким-то образом мы определим культуру, используемую конкретным клиентом WCF в то время.
Однако я хочу, чтобы сообщения могли также регистрироваться в лог-файле сервера на одном языке (обычно английском), чтобы упростить поддержку приложения.
Существуют различные сборки, используемые как на сервере, так и на стороне клиента; каждая сборка будет иметь строковую таблицу сообщений об ошибках. Поэтому, когда создается исключение, ему необходимо иметь ID ресурса и менеджер ресурсов для данной данной сборки. Без подклассов каждого доступного типа исключения я не могу понять, как обойти это. Это кажется большой работой для проблемы, с которой наверняка уже сталкивались раньше?
Пример
Server.A.dll
Error Resources: MyErrorString1, MyErrorString2
Resource Manager: ResourceManagerA
Server.B.dll
Error Resources: MyErrorString3
Resource Manager: ResourceManagerB
Так что в идеале мне нужно иметь доступ к диспетчеру ресурсов для заданной строки в то время, когда мне нужно либо записать сообщение в файл, либо отправить его обратно через WCF в качестве ошибки; но я не хочу потерять способность отлавливать типы исключений, используя один общий класс исключений.
У кого-нибудь есть опыт решения этой проблемы или какие-нибудь интересные предложения о том, как ее реализовать?
Заранее спасибо,
Стив