2016-08-31 22 views
1

私はサービスを持っており、この依存関係をasp.net mvc5フレームワークのautofacで登録しました。静的データ型のメモリ割り当て

public partial class EBayApiService : IEBayApiService 
{ 
    #region Fields 
    private readonly GlobalSettingsForEBay _globalSetting; 
    private static ApiContext _context; 
    #endregion 

    #region Ctor 
    public EBayApiService(GlobalSettingsForEBay globalSetting) 
    { 
     this._globalSetting = globalSetting; 
     _context = GetApiContext(); 
    } 

    static ApiContext GetApiContext() 
    { 
     //apiContext is a singleton, 
     //to avoid duplicate configuration reading 
     if (_context != null) 
     { 
      return _context; 
     } 
     else 
     { 
      _context = new ApiContext(); 
      return _context; 
     } 

     public CategoryTypeCollection GetAllEBayParentCategories(ApiContext context) 
     { 
      //here I play with _context. 
     } 

    } 

ブラウザからの初めてのリクエスト_contextはnullであり、データを収集します。その後、リクエストごとにnullではありません。

私の質問は、もう一度nullになるときです。または、データはライフサイクル全体で1回だけ使用されます。

答えて

1

IISを再起動しない限り、そのライフサイクルで1回だけデータを取得します。 IISを再起動すると_contextnullになります。_contextはスタティックタイプです。

0

私は最初にすべてのページの読み込みがnullになると思う( "PostBack"ページ)。

+0

ページが読み込まれたときに初めてnullになります。その後、すべてのページの読み込みでnullではありません。 –

+0

はい、ヌル状態の中のprint文で確認して、ボタンや何かで何度もリロードページを試してみることができます –

関連する問題