もちろん、MVC 3 とキャッスル ウィンザーなどを使用してアプリケーションを開発しています。サービスが Transient または PerWebRequest に登録されている可能性がありますが、Windsor で複数のオブジェクトをインスタンス化するのに問題があります。
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 を取得していると確信しています。私が間違っていた可能性のあるアイデアはありますか?Solution Explorer -> References で Castle Windsor 3.0.0 と表示されます。