我使用了一个
static变量(ConnectionSting)来保存。当ConnectionString为空
时去执行取的操作。这样,就可以执行一次IO操作。
但是当第二个用户需要数据连接的时候他也要初始
ConnectionString。也就是说ConnectionString只能对单个用户来
说是全局的。有没有方法使ConnectionString可以被所有的用户访
问?
但是好多人建议在Web Application中不要使用Static,我也不知道为什么。
static变量(ConnectionSting)来保存。当ConnectionString为空
时去执行取的操作。这样,就可以执行一次IO操作。
但是当第二个用户需要数据连接的时候他也要初始
ConnectionString。也就是说ConnectionString只能对单个用户来
说是全局的。有没有方法使ConnectionString可以被所有的用户访
问?
但是好多人建议在Web Application中不要使用Static,我也不知道为什么。
解决方案 »
- c#如何根据这个要球写这个webservice呢?
- 借人气,大家帮忙解决个问题
- Graphics 绘制的图,如何一直显示在最上层,且不受下面的画面的影响
- F5刷新的问题,在线等待
- 一个修饰符的问题(突然困惑了)
- 提个老问题。锁定滚动条自动的GridView的表头及首几列的问题
- 返回值的函数到底能干什么?
- winapi中的字符数组是怎么样使用的
- 急!急!急的我冒火:求神人帮助!关于VS80sp1-KB926604-X86-CHS.exe这个vs2005的包
- 我用C#做C/S,编译错误如下,帮帮我,是连接数据库错误
- 鼠标左.右键同时按下,怎么判断?给个例程或代码,谢谢~~
- 想问一下大家用C#写win form的有多少,有什么好的书或资料
static变量(ConnectionSting)来保存。当ConnectionString为空
时去执行取的操作。这样,就可以执行一次IO操作。
但是当第二个用户需要数据连接的时候他也要初始
ConnectionString。也就是说ConnectionString只能对单个用户来
说是全局的。有没有方法使ConnectionString可以被所有的用户访
问?
但是好多人建议在Web Application中不要使用Static,我也不知道为什么
1.数据库连接字符串及应用程序需要的其它全局配置存放在web.config的一个自定义配置节中;
2.在公共服务层管理应用程序配置。其中实现一个应用程序配置类(class ApplicationConfiguration),让ApplicationConfiguration继承并实现IConfigurationSectionHandler接口;
3.在Gloabl.asax中Application_Start时间中初始化ApplicationConfiguration,如:
system.Configuration.ConfigurationSettings.GetConfig("ApplicationConfiguration");
4.这样的话,系统配置数据只在Web应用启动时读一次文件,不会对每个用户都程序初始化,同时避免了直接使用用Application变量。以上是主体思路,具体实现还可以有很多灵活处理和细节。
另用Application变量保存一个配置管理类的实例其实也很好。再:原贴“实际上取数据连接的操作封装在这里。”==》
我觉得获取连接字符串之类的操作不应在数据层实现,因为这样的话,数据层就不是一个封装很好的层次,应该从调用者传入,保证数据层良好的封装。
的appsetting节中
并且可以做个类来修改
你的意思是直接将连接对象也就是用SqlConnection对象用Application保存?这样在内存中就要一直驻留Conenction对象的,这样会系统的性能及安全。
我不理解你的
4.这样的话,系统配置数据只在Web应用启动时读一次文件,不会对每个用户都程序初始化,同时避免了直接使用用Application变量。
能否详细一下或举个例子?
/*再:原贴“实际上取数据连接的操作封装在这里。”==》
我觉得获取连接字符串之类的操作不应在数据层实现,因为这样的话,数据层就不是一个封装很好的层次,应该从调用者传入,保证数据层良好的封装。*/
我可能没有叙述清楚,打开数据连接的操作是在数据层操作,但是我是将打开数据连接的方法是在一个公共的模块,他负责去查找数据连接信息。其实这样做的目的是想让程序员回避数据库,根本不用考虑低层数据库的操作。
4.这样的话,系统配置数据只在Web应用启动时读一次文件,不会对每个用户都程序初始化,同时避免了直接使用用Application变量。
==》主要是配置类要实现IConfigurationSectionHandler接口,这个类本身就象Application对象一样,或者说就是一个自定义的Application对象,是由ASP.Net在WEB应用程序第一次启动时创建(在该类中保存所需要的应用程序级配置,如数据库连接字符串)。具体你可以看一下vs.net的help。
Dim cn As OleDbConnection = New OleDbConnection(ConfigurationSettings.AppSettings("ConnStr"))