0

リポジトリ静的クラスを持つDALライブラリがあります。シングルトンパターン(静的コンストラクター)を介して初期化されます。このDALライブラリを使用するWebサイトと、同じソリューションのWindowsサービスプロジェクトがあります。

知る限り、シングルトンオブジェクトのインスタンスは2つあり、サイトとWINserviceの各ドメインに1つずつあります。そうですか?

Webサイトアプリの場合、アイドル時間が経過すると、ドメインがアンロードされるため、リポジトリクラスもアンロードされます。

そして、winserviceについての最後の質問:サービスの実行中にこのドメインがアンロードされることは決してないので、リポジトリオブジェクトはメモリに残りますか?

PS:サブクラスオブジェクト(たとえば、winserviceのワーカー)を作成するとどうなりますか。このオブジェクトは、その内部のリポジトリクラスを使用します。

using (var worker = new worker())
{
    //some DAL manipulations
}

ワーカーコンテキストを離れると、リポジトリオブジェクトは破棄されますか?

助けてくれてありがとう。

4

1 に答える 1

1

知る限り、シングルトンオブジェクトのインスタンスは2つあり、サイトとWINserviceの各ドメインに1つずつあります。そうですか?

はい

Webサイトアプリの場合、アイドル時間が経過すると、ドメインがアンロードされるため、リポジトリクラスもアンロードされます。

はい(アプリプールをリサイクルするためのルールはIISで設定できます)

そして、winserviceについての最後の質問:サービスの実行中にこのドメインがアンロードされることは決してないので、リポジトリオブジェクトはメモリに残りますか?

はい

ワーカーコンテキストを離れると、リポジトリオブジェクトは破棄されますか?

いいえ(もちろん処分しない限り)

于 2012-04-20T08:54:43.643 に答える