请高手帮一下,应该怎么设计才正确.我想做成这样.网站一起动就会有一个全局的静态SiteConfiguration对象,而且这个类的对象是唯一的,他会被存入cache。这里不是要用单态吗?应该怎么定义????
还有就是这个对象是自动建立的。不用我每个页面都要写代码去检查cache里是否有这个对象,没有他就会自动重新初始化。
我看了点asp.net forum 的代码,不过他是从XML文件读取站点设置。我是全部从数据库读取。初学者,请高手帮个忙,谢谢。下面是代码
public Class SiteConfiguration
{
public SiteConfiguration(SqlDataReader reader)
{
//读取reader
......
.......
//把config 存入缓存
}
}
public class SqlDataProvider
{
public SiteConfiguration LoadSiteSettings() {
using( SqlConnection connection = GetSqlConnection() ) { SqlCommand command = new SqlCommand("SiteSettings_Get", connection);
SqlDataReader reader;
......
connection.Open(); reader = command.ExecuteReader(); if(reader.read()){
SiteConfiguration config=new SiteConfiguration (reader)
return config;
}
else
{
throw new Expection()
}
}
}
还有就是这个对象是自动建立的。不用我每个页面都要写代码去检查cache里是否有这个对象,没有他就会自动重新初始化。
我看了点asp.net forum 的代码,不过他是从XML文件读取站点设置。我是全部从数据库读取。初学者,请高手帮个忙,谢谢。下面是代码
public Class SiteConfiguration
{
public SiteConfiguration(SqlDataReader reader)
{
//读取reader
......
.......
//把config 存入缓存
}
}
public class SqlDataProvider
{
public SiteConfiguration LoadSiteSettings() {
using( SqlConnection connection = GetSqlConnection() ) { SqlCommand command = new SqlCommand("SiteSettings_Get", connection);
SqlDataReader reader;
......
connection.Open(); reader = command.ExecuteReader(); if(reader.read()){
SiteConfiguration config=new SiteConfiguration (reader)
return config;
}
else
{
throw new Expection()
}
}
}
解决方案 »
- 报错“文件“bin\MTS.Web.Utility.dll”正由另一进程使用,因此该进程无法访问此文件。”
- asp.net网站做了个登录,出现错误,求大神帮助
- 一个共用的xsl基类的问题。
- 关于计算点击次数的问题(有谁还有更好的方法)
- js获取服务器控件的问题
- datagrid翻页为什么要再次绑定数据?有兴趣的朋友进来讨论.
- 如果转换并显示SQL计算的结果
- 请问类的设计是在概要设计阶段完成还是详细分析阶段完成
- 求助!!asp.net的会话问题
- 百度编辑器UEditor .NET版 本地上传图片问题
- 两个基础小问题,高手来拿分吧~~~~~~~
- aspx 出现的问题 “/”应用程序中的服务器错误。
{
// 单例类,构造函数私有
private SiteConfiguration()
{
} public static SiteConfiguration Instance
{
get
{
SiteConfiguration sc = HttpRuntime.Cache.Get("SiteConfiguration") as SiteConfiguration;
if(sc == null)
{
sc = new SiteConfiguration();
HttpRuntime.Cache.Add("SiteConfiguration", sc, null, DateTime.Now, TimeSpan.FromDays(1), System.Web.Caching.CacheItemPriority.Normal, null);
}
return sc;
}
}
}
{
public SiteConfiguration(SqlDataReader reader)
{
//读取reader
......
.......
//把config 存入缓存
}
}
public class SqlDataProvider
{
public SiteConfiguration LoadSiteSettings() {
using( SqlConnection connection = GetSqlConnection() ) {SqlCommand command = new SqlCommand("SiteSettings_Get", connection);
SqlDataReader reader;
......
connection.Open();reader = command.ExecuteReader();if(reader.read()){
SiteConfiguration config=new SiteConfiguration (reader)
return config;
}
else
{
throw new Expection()
}
}
}