0

もちろん、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 と表示されます。

4

1 に答える 1

1

あなたにはライフスタイルのミスマッチがあります。修理する。

于 2012-08-11T23:55:49.650 に答える