【发布时间】:2013-06-25 18:01:14
【问题描述】:
我有一个具有会话属性的会话管理器类。我需要将它作为构造函数参数传递给另一个类。温莎城堡的安装程序应该如何配置?
例如
public interface ISessionManager
{
ISession CurrentSession { get; set; }
}
public class SessionManager : ISessionManager
{
private ISession _session;
public ISession CurrentSession
{
get { return _session ?? (_session = NHibernateHelper.OpenSession()); }
set { _session = value; }
}
}
public interface IRequest
{
TR Execute<TR>(IExecuteManager<TR> executeManager);
}
public class Request: IRequest
{
private readonly ISession _session;
public Request(ISession session)
{
_session = session;
}
public TR Execute<TR>(IExecuteManager<TR> executeManager)
{
return executeManager.Request(_session);
}
}
我一直在温莎城堡的文档中四处寻找,但我一定是在寻找错误的东西或遗漏了一些东西,因为我确定它在那里,只是找不到。
我应该如何配置 Castle Windsor 安装程序,以便将 SessionManager.CurrentSession 注入到 Request 类的构造函数中? (参考正确的温莎文档或示例也完全可以)
【问题讨论】:
标签: c# dependency-injection inversion-of-control castle-windsor