当然,我正在使用 MVC 3 和 Castle Windsor 开发应用程序。我无法让 Windsor 实例化多个对象 - 即使该服务可能已使用 Transient 或 PerWebRequest 注册。
container.Register(Component.For<ISession>().LifestylePerWebRequest().ImplementedBy<SessionImpl>());
据我所知,这是所有相关代码。解析 ISession 工作正常,接收 SessionImpl 对象。
SessionImpl 只是我为显示问题而创建的一个虚拟对象:
public class SessionImpl : ISession
{
public SessionImpl()
{
//Called once
}
public void Dispose()
{
//Called once
}
}
当我收到下一个请求的 ISession 已经被处理时,我首先注意到了这个问题——所以我确信我每次都得到相同的 ISession。有什么想法我可能做错了吗?它在解决方案资源管理器 -> 参考中显示 Castle Windsor 3.0.0。