ASP中的强类型全局数据.网络网页
本文关键字:数据 网络 网页 全局 强类型 ASP | 更新日期: 2023-09-27 18:17:26
在ASP中存储强类型全局数据的最佳实践是什么?Net Web页面,对于每个请求哪个是唯一的?基本上我需要强类型的WebPageContext.Current.PageData
。
直到现在,我想出了这样的东西:
public sealed class GlobalData
{
public static GlobalData Current
{
get
{
if (WebPageContext.Current.PageData["GlobalData"] == null
|| WebPageContext.Current.PageData["GlobalData"].GetType() != typeof(GlobalData))
{
WebPageContext.Current.PageData["GlobalData"] = new GlobalData();
}
return WebPageContext.Current.PageData["GlobalData"];
}
}
public string SomeData { get; set; }
}
这样我就可以简单地在每个页面上使用GlobalData.Current.SomeData
访问我的数据。还是有更好的解决方案?
这是一个很好的方法。我想简化一下:
public sealed class GlobalData
{
public static GlobalData Current
{
get
{
// soft cast using "as" which will return null if the type is not correct
var globalData = WebPageContext.Current.PageData["GlobalData"] as GlobalData;
if (globalData == null)
{
// Need to instantiate
globalData = new GlobalData();
WebPageContext.Current.PageData["GlobalData"] = globalData;
}
return globalData;
}
}
public string SomeData { get; set; }
}