【发布时间】:2014-01-09 10:18:45
【问题描述】:
我在服务器中创建了 c# 窗口服务。其中有sqlite数据库。客户端机器使用 c# windows 窗体应用程序连接到服务器并从服务器数据库获取数据。 因此,首先客户端应用程序使用 http 请求登录到服务器。服务器接收请求并将数据发送回客户端。
但有时即使服务正在运行,服务器也没有响应客户端,客户端也无法连接到服务器。后来我重新启动服务,然后它连接。
System.Data.DataSet rdr = db.ExecuteDataSet(@"
select i.id
from item i,field f
where i.typeid=1 and
f.value like '" + UserName + "' and i.id=f.itemid");
if (rdr.Tables[0].Rows.Count == 0)
{
rdr = null;
return false;
}
public DataSet ExecuteDataSet(String sqlExpr)
{
if (conn.State != ConnectionState.Open)
Open(DataFile);
SQLiteDataAdapter _adapter = new SQLiteDataAdapter(sqlExpr, conn);
DataSet ds = new DataSet();
_adapter.Fill(ds);
return ds;
}
上面是登录的代码。有什么东西阻塞了db。请帮我解答您的宝贵意见。
问候 桑吉萨
【问题讨论】:
-
您是否使用 HTTP Fiddle 之类的代理跟踪了 HTTP 请求?你做了什么来确定是数据库查询需要很长时间?
-
您是否从代码中捕获和处理异常?
标签: c# windows-services