100分求变量丢失的问题
我从系统框架中读取子系统的数据库连接信息,然后把它们放到公共变量中,使用过程中总是不时的丢失,不知道什么原因,请大家帮忙解决以下,或者给点好的建议,谢谢大家了.
代码如下:
string Pt_Uid; //平台数据库用户名
string Pt_Pwd; //平台数据库密码
string Pt_Dsn; //平台数据库DSN
//获取应用平台用户名、密码、DSN
Pt_Uid = Request.Cookies[ "PT "][ "pt_UID "];
Pt_Pwd = Request.Cookies[ "PT "][ "pt_PWD "];
Pt_Dsn = Request.Cookies[ "PT "][ "pt_DSN "];
//将平台连接串放到公用变量中
ClsPublic.PtConnSting = "User ID= " + Pt_Uid + ";Password= " + Pt_Pwd + ";Data Source= " + Pt_Dsn + ";Persist Security Info=True ";
ClsPublic.cs代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
/// <summary>
/// ClsPublic 的摘要说明
/// </summary>
public class ClsPublic
{
public ClsPublic()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
//应用平台数据库连接串
private static string _PtConnSting;
public static string PtConnSting
{
get
{
return _PtConnSting;
}
set
{
_PtConnSting = value;
}
}
}
请大家帮忙,急。。。
------解决方案--------------------光看这些代码看不出任何问题,LZ的这个变量在什么情况下会丢,丢了后出现什么现象?
------解决方案--------------------你这种设计思路有严重的安全隐患
如果一定要做,可以考虑用Hashtable缓存下来,
------解决方案--------------------另外,注意你的cookie有效期
每 次应用程序调试时必须清除Cookie
http://blog.csdn.net/downmoon/archive/2007/06/13/1649923.aspx
------解决方案--------------------把连接数据库的信息放在cookie时间很危险的事情
------解决方案--------------------