Bir WCF Hizmetinde, her zaman her yerden erişilebilen bir değişken oluşturmanız gerekir. Hizmetimin tüm yöntemlerinin bu verilere erişmesi gerekiyor ve bunu yalnızca bir kez yükleyebilirim. Bu yüzden Global.asax.cs'de statik bir değişken kullanmaktan bahsediyorum. Ancak, bu değişkenin kapsamının ne olacağını anlayamadığımdan emin değilim. Bu veriler tüm talepler için kullanılacak mı? Benim anlayışım, aynı statik değişkenin Uygulama Alanında kullanılmasının gerekmesidir. Bu doğru mu?Global.asax.cs ve Statik değişkeni
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();
}
Son olarak, bunu başarmanın daha iyi bir yolu var mı? bir uygulama olarak küresel o değişken adı aracılığıyla dışında fiili uygulanmasında
public static IList<MyData> Data {
get
{
if (Application["MyIListData"] != null)
return (IList<MyData>)Application["MyIListData"];
else
return new IList<MyData>();
}
set
{
Application["MyIListData"] = value;
}
}
protected void Application_Start(object sender, EventArgs e)
{
Data = Load();
}
gerçekten çok farklı Şimdi değil Sunulursa: Ben
Küresel bir değişken istemiyorsunuz, ancak herhangi birinden ve her yerden erişilebilen bir şey istiyorsanız, çelişkiyi görüyor musunuz? – codymanix