注册 登录
编程论坛 ASP.NET技术论坛

在两个帐套进行切换,如何来适应多用户

zhengyingcan 发布于 2011-12-19 19:07, 966 次点击
我在一个页面的代码如下:
 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,只适合一个用户,如果是多用户, 肯定不行,
那代码如何改成适应多用户的,切换帐套呢
存储一个值倒没有什么,只是担心 甲用户先static = "A数据库" 乙用户 登入的时候改成 static = "B数据库" ,
因为static是全局变量, 甲在不知情的情况下, 用了B数据库, 把资料全部存入B数据库.
其实我的目的就是,三层架构 数据库连接字符串(web.config来配置),可以动态更改connectionString支持多数据库
2 回复
#2
zhengyingcan2011-12-20 19:18
我发的帖子没有人回
#3
xueyifeng2011-12-21 12:54
那就不用全局变量来处理
1