Мое приложение имеет как интерфейс пользователя (ASP.Net), так и интерфейс API веб-сервисов (WCF), которые оба вызывают один бизнес-уровень.Мы используем пользовательский тип исключения для передачи ошибок бизнес-уровня, которые безопасно отображать для конечных пользователей.Например, если пользователь пытается выполнить действие, которое выходит за рамки его полномочий, бизнес-уровень выдаст новое исключение FriendlyException («У вас нет разрешения»).Затем уровень пользовательского интерфейса обрабатывает это исключение и показывает это сообщение конечному пользователю.Если API сделал этот вызов, то внутри данных FaultException было бы сообщение «У вас нет прав».
Проблема, с которой мы столкнулись сейчас, заключается в том, что нам нужно начать локализацию всех этих сообщений.В настоящее время предполагается, что BusinessLayer генерирует статические строки («NO_PERMISSION_ERROR»), которые будут использоваться обработчиками пользовательского интерфейса и API для поиска локализованной строки в соответствующих файлах ресурсов.Единственным недостатком этого является наша локализация API и локализация пользовательского интерфейса в США практически одинаковы и дублируются.Можем ли мы избежать этого, используя какой-то другой шаблон, или мы на правильном пути?
Спасибо, J