日期:2014-05-18  浏览次数:20372 次

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时间很危险的事情
------解决方案--------------------