在两个帐套进行切换,如何来适应多用户
时间:2011-12-19
来源:互联网
protected void HNKD_Click(object sender, EventArgs e)
{
Maticsoft.DBUtility.DbHelperSQL.factorychoice("KD");
Session["factory"] = "康达电子";
Response.Redirect("Main.aspx");
}
protected void HNBD_Click(object sender, EventArgs e)
{
Maticsoft.DBUtility.DbHelperSQL.factorychoice("BD");
Session["factory"] = "博禄德电子";
Response.Redirect("Main.aspx");
}
用来切换连接字符串,,其中 Maticsoft.DBUtility.DbHelperSQL 的代码如下
public abstract class DbHelperSQL
{
//数据库连接字符串(web.config来配置),多数据库可使用DbHelperSQLP来实现.
public static string connectionString = PubConstant.ConnectionString;
public DbHelperSQL()
{
}
/// <summary>
/// 进行工厂别的切换
/// </summary>
public static void factorychoice(string factory)
{
switch (factory)
{
case "KD":
connectionString = PubConstant.ConnectionString;
break;
case "BD":
connectionString = PubConstant.ConnectionString2; ;
break;
}
}
我感觉我这样子用static,只适合一个用户,如果是多用户, 肯定不行,
那代码如何改成适应多用户的,切换帐套呢
作者: zhengyingcan 发布时间: 2011-12-19
作者: zhudao92 发布时间: 2011-12-19
Session["factory"] 只能存储一个值
作者: hewansongjuan 发布时间: 2011-12-19
因为static是全局变量, 甲在不知情的情况下, 用了B数据库, 把资料全部存入B数据库.
作者: zhengyingcan 发布时间: 2011-12-19
作者: zhengyingcan 发布时间: 2011-12-19
作者: orain 发布时间: 2011-12-19
就是静态连接字符串的问题,静态变量每个类只有一个,不管该类有多少个实例对象。假如 A 进入系统,选择使用账套一,此时连接字符串为一,接着 B 进入系统,选择使用账套二,连接字符串改为二,这时对于 A,也变成账套二了,这肯定乱套了。
是的呀, 我是用 动软的 简单的 三层架构, 问题是动软的三层架构喜欢 用static, 真要命.
作者: zhengyingcan 发布时间: 2011-12-19
作者: zhengyingcan 发布时间: 2011-12-19
作者: zhengyingcan 发布时间: 2011-12-19
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28