Доступ к файлу ресурсов из отдельной сборки - PullRequest
3 голосов
/ 28 июля 2011

Я создал файл ресурсов в своем веб-проекте для локализации приложения.Таким образом, он будет содержать весь переведенный текст для ярлыков, кнопок и т. Д. В веб-приложении.Однако у меня также есть некоторый внутренний код, который я использую для генерации и отправки электронных писем своим пользователям, и я хотел бы, чтобы эти электронные письма также были локализованы.Код, который отправляет электронные письма, находится в отдельной сборке от веб-проекта, поэтому мне интересно, как лучше всего поделиться этим файлом ресурсов со сборкой?

В своем коде веб-проекта я просто делаю это:

HttpContext.GetGlobalResourceObject("Localization", "somekey").ToString();

, чтобы я мог просто сделать это в коде сборки:

System.Web.HttpContext.GetGlobalResourceObject("Localization", "somekey").ToString();

, и это будетработает нормально до тех пор, пока сборка вызывается из моего веб-приложения ... но если по какой-либо причине я хочу вызвать метод этой сборки из другого приложения, не основанного на сети, то не будет никакого HttpContext, и он завершится ошибкой.Есть ли лучший рекомендуемый способ сделать это, чтобы я мог разделить ресурсы между ними?

большое спасибо

1 Ответ

1 голос
/ 12 сентября 2011

Вы можете построить ExpressionBuilder для доступа к строкам из другой сборки.

Статья .NET String Resources включает в себя класс StringExpressionBuilder сСтроки выражения:

<asp:Label ID="AppTextLabel" runat="server" 
    Text="<%$ Strings:MyCompany.MyApp.MyStrings, AppText %>" />
<asp:Label ID="LibTextLabel" runat="server" 
    Text="<%$ Strings:MyCompany.MyLib.MyStrings, LibText %>" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...