0

我有一个桌面应用程序,它验证手指并提示我在 wpf 中调用该应用程序的结果,然后这一切都显示在 asp.net 中

在 asp.net 用户上,结果出现在他面前,这是怎么做到的?

在 asp.net 上,我创建了一个静态类和一个 Web 服务,它有两个静态成员,它们获取“查询”和连接字符串,这两个成员都是由 asp.net 设置的,即

button1_click() {
      string query = "select * from employee where userid='123'";
        string connString = "Data Source=mypc;Initial Catalog=abc;Persist Security Info=True;User ID=re;Password=12345";

    StaticClass.Query = query;
    StaticClass.ConnStr = connString;
}

Web 服务中的值设置

[WebMethod]
public string Query()
{
    string SelectDataQuery = StaticClass.Query;
    return SelectDataQuery;
}

桌面应用程序订阅了获取和提供数据的网络服务。一切都很好,现在我将应用程序托管在 IIS 上,现在多个用户正在使用该应用程序,同时,user1 设置查询,而 user2 获取它。我想让它成为多用户,所以有什么建议,我应该像用户创建唯一性或其他任何东西的请求一样动态地创建静态字符串吗?

4

2 回答 2

0

只需使用String.Format放置在当前用户 id 中。

button1_click() {
    string query = "select * from employee where userid='{0}'";
    string connString = "Data Source=mypc;Initial Catalog=abc;Persist Security Info=True;User ID=re;Password=12345";

    StaticClass.Query = String.Format(query, currentUserId);
    StaticClass.ConnStr = connString;
}
于 2015-07-25T16:25:15.780 回答
0

您可以尝试创建一个包含查询和连接的实例对象,然后将其传递给查询方法。这样每个用户都将拥有自己的实例。

像这样的东西

[WebMethod]
public string Query(StaticClass query)
{
    string SelectDataQuery = query.Query;
    return SelectDataQuery ;
}
于 2015-07-24T13:32:56.350 回答