Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






IConfig (и реализация).






Аналогично Repository, конфигуратор будем создавать как сервис. Создаем IConfig и Config-реализацию в папке Global (/Global/Config/IConfig.cs):

public interface IConfig

{

string Lang { get; }

}

И

public class Config: IConfig

{

public string Lang

{

get

{

return " ru";

}

}

}

Добавляем строку в RegisterServices (/App_Start/NinjectWebCommon.cs):

kernel.Bind< IConfig> ().To< Config> ().InSingletonScope();

И выводим в BaseController:

[Inject]

public IConfig Config { get; set; }


 

Теперь сделаем в инициализации контроллера переопеределение CultureInfo в потоке (/Controllers/BaseController.cs):

protected override void Initialize(System.Web.Routing.RequestContext requestContext)

{

try

{

var cultureInfo = new CultureInfo(Config.Lang);

 

Thread.CurrentThread.CurrentCulture = cultureInfo;

Thread.CurrentThread.CurrentUICulture = cultureInfo;

}

catch (Exception ex)

{

logger.Error(" Culture not found", ex);

}

 

base.Initialize(requestContext);

}

И добавим вывод даты в Index.cshtml (/Areas/Default/Views/Home/Index.cshtml):

@DateTime.Now.ToString(" D")

Получаем вывод:

И по-настоящему свяжем это с Web.Config. Добавим в Web.config в appSettings строку:

< add key=" Culture" value=" ru" />

В Config.cs (/Global/Config/Config.cs):

public string Lang

{

get

{

return ConfigurationManager.AppSettings[" Culture" ] as string;

}

}

Запускаем – результат тот же, теперь изменим значение в Web.config на fr:

< add key=" Culture" value=" fr" />

Получаем дату:

mardi 5 mars 2013

Отлично! Можете попробовать еще с несколькими языками. Список сокращений находится тут https://msdn.microsoft.com/en-us/goglobal/bb896001.aspx


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.005 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал