0

UnitOfWorkを管理するためのNinjectV2のInRequestScope()で苦労しています。

_kernel.Bind<UnitOfWork>().To<SqlUnitOfWork>().InRequestScope();

コンテナを介してUnitOfWorkをリクエストするときはいつでも、リクエスト全体で同じオブジェクトが常に返されることを期待しています。ただし、デバッガーでは、オブジェクトのコンストラクターにブレークポイントがあり、コンテナーに対して要求が行われるたびに、コンストラクターは新しいオブジェクトが作成されているかのように起動します。

var uow = CreateKernel().Get<UnitOfWork>();

誰かがこれと同じような経験をしたことがありますか、それとも私は何か重要なことを見逃していますか?

4

1 に答える 1

1

他の誰かがこの問題を抱えている場合、私の問題はglobal.asaxファイルに関連していました。CreateKernalの結果をプライベート変数に手動で保存していました。基本NinjectHttpApplicationクラスのKernalプロパティを介してリクエストの作成されたカーネルにアクセスするように変更すると、問題がソートされました。

于 2010-10-12T23:38:45.233 に答える