In a WCF Service, I need to create a variable which should be accessible anytime from anywhere. All methods of my service need to have access to that data and I can load it only once. So I though about using a static variable in the Global.asax.cs. However I am not sure to understand what is going to be the scope of that variable. Is that data is going to be used for all the requests? My understanding is that it should because the same static variable should be used across the App Domain. Is that correct?
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();
}
Finally, is there a better way to achieve that? I am not a big fan of static variable...