Я действительно новичок в контейнере Castle Windsor IoC. Я хотел знать, есть ли способ хранить переменные сеанса с помощью контейнера IoC. Я думал что-то вроде этого:
Я хочу иметь класс для хранения параметров поиска:
public interface ISearchOptions{
public string Filter{get;set;}
public string SortOrder{get;set;}
}
public class SearchOptions{
public string Filter{get;set;}
public string SortOrder{get;set;}
}
А затем введите это в класс, который должен его использовать:
public class SearchController{
private ISearchOptions _searchOptions;
public SearchController(ISearchOptions searchOptions){
_searchOptions=searchOptions;
}
...
}
затем в моем web.config, где я настраиваю замок, я хочу иметь что-то вроде:
<castle>
<components>
<component id="searchOptions" service="Web.Models.ISearchOptions, Web" type="Web.Models.SearchOptions, Web" lifestyle="PerSession" />
</components>
</castle>
И пусть контейнер IoC обрабатывает объект сеанса, не обращаясь к нему лично.
Как я могу это сделать?
Спасибо.
РЕДАКТИРОВАТЬ: Провел небольшое исследование. По сути, я хочу иметь компонент с областью действия сеанса. Я пришел из Java и Spring Framework, и там у меня есть bean-компоненты с сессионной областью, которые, как мне кажется, очень полезны для хранения данных сеанса.