C#windows服务仍在运行但没有响应

时间:2014-01-09 10:18:46

标签: c# windows-services

我在服务器中创建了c#窗口服务。哪个有sqlite数据库。客户端计算机使用c#windows表单应用程序连接到服务器并从服务器db获取数据。 所以首先客户端应用程序使用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。请帮助我提出宝贵的答案。

此致 桑杰塔

1 个答案:

答案 0 :(得分:0)

我不确定,但是,如果登录运行良好,问题似乎在服务器中出现错误,当您使用de sqlite打开连接时,您在使用后关闭它? sqlite有一些常规来杀死睡眠中的连接吗?

其他的事情,您使用的是component.dispose()吗?因为如果你不处理这些组件,他们会继续使用内存。