Projeto de castelo por sessão de estilo de vida com a ASP.NET MVC
Eu sou realmente novo no contêiner Castle Windsor IoC. Eu queria saber se há uma maneira de armazenar variáveis de sessão usando o contêiner IoC. Eu estava pensando em algo na linha disso:
Eu quero ter uma classe para armazenar opções de pesquisa:
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;}
}
E então injetar isso na classe que tem que usá-lo:
public class SearchController{
private ISearchOptions _searchOptions;
public SearchController(ISearchOptions searchOptions){
_searchOptions=searchOptions;
}
...
}
então no meu web.config, onde eu configuro o castle eu quero ter algo como:
<castle>
<components>
<component id="searchOptions" service="Web.Models.ISearchOptions, Web" type="Web.Models.SearchOptions, Web" lifestyle="PerSession" />
</components>
</castle>
E faça com que o contêiner IoC manipule o objeto de sessão sem ter que acessá-lo explicitamente.
Como posso fazer isso?
Obrigado.
EDITAR: Fazendo algumas pesquisas. Basicamente, o que eu quero é ter o componente Scoped de uma sessão. Eu venho de Java e Spring Framework e lá eu tenho beans com escopo de sessão que eu acho que são muito úteis para armazenar dados de sessão.