- 瞬時(Transient):状態を持たないサービス、例えば DAL レイヤーの Repository
- スコープ(Scoped):リクエストスコープで共有される状態のサービス、例えば BLL レイヤーの Service、Controller
- シングルトン(Singleton):アプリケーション全体で共有される状態のサービス、例えば構成クラス、キャッシュクラス
- スレッドセーフ、スレッドセーフなデータ構造を使用するか、サービス内でロックメカニズムを使用する
- メモリリーク、IDisposable を使用してリソースを解放する
サービスの状態と使用シナリオが不明な場合は、デフォルトとして Scoped を選択することができます。