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.

questionAnswers(4)

yourAnswerToTheQuestion