2

私はオーチャードに比較的慣れていません。依存性注入にAutofacを使用しており、NHibernateがORMであることを私は知っています。バニラオーチャードのインストールに付属している他のモジュールを調べましたが、オブジェクトを破棄する標準的な方法がわかりません。Autofacがオブジェクトの存続期間を管理するために使用されていることは知っていますが、Orchardコードを深く掘り下げないと、それがどのように行われるかを判断するのは困難です。データベースのクエリに使用するモジュールのレコードを作成しました。特に、その接続がどのように破棄されるかを知りたいと思っています。

前もって感謝します。

4

1 に答える 1

4

http://docs.orchardproject.net/Documentation/How-Orchard-works#DependencyInjectionを参照してください

ほとんどのオブジェクトはIDependencyを実装しており、スコープ/ライフタイムがリクエストです。いくつかのオブジェクトは、ITransientDependencyを実装しているため、寿命が短くなっています。これらのオブジェクトは、要求されるたびに新しく作成され、それらを使用するコードブロックであるスコープとともに消えます。ISingletonDependencyを実装することにより、他のいくつかのオブジェクトは、テナントと同じシェルと同じ存続期間を持ちます。それらはテナントごとに1つのコピーで存続し、アプリプールでのみ消滅します。

于 2012-12-13T02:01:40.263 に答える