Global.asax.cs и статическая переменная

В службе WCF мне нужно создать переменную, которая должна быть доступна в любое время из любого места. Все методы моей службы должны иметь доступ к этим данным, и я могу загрузить их только один раз. Итак, я подумал об использовании статической переменной в Global.asax.cs. Однако я не уверен, что понимаю, какова будет область действия этой переменной. Будут ли эти данные использоваться для всех запросов? Насколько я понимаю, это должно быть связано с тем, что одна и та же статическая переменная должна использоваться в домене приложения. Это правильно?

public static IList<MyData> Data { get; set; } 
private static IList<MyData> Load() 
{
    return Big data struct from DB.
}

protected void Application_Start(object sender, EventArgs e)
{
    Data = Load();
}

Наконец, есть ли лучший способ добиться этого? Я не большой поклонник статических переменных ...

6
задан Martin 26 May 2011 в 16:58
поделиться