В службе 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();
}
Наконец, есть ли лучший способ добиться этого? Я не большой поклонник статических переменных ...