我正在使用ASP.NET 2.0网站.我遇到的问题是它查询数据库以获取它在屏幕上显示的信息,但数据库偶尔会到达有太多打开连接的地方.这导致网站拒绝在该数据库错误之后为任何人登录的尝试.
造成这种情况的原因是许多用户将登录,执行他们需要执行的操作,但是在他们执行其他操作时保持网站运行而不注销.它会超时,但连接似乎仍然是开放的.然后我们必须联系其运行的服务器的负责人并让他为我们重置它.
我查看了,在发出请求和查询之后,对数据库的所有连接似乎都被关闭了.所以,我想要做的是添加一个按钮,点击后将重置网站,而不是每次都要打电话给负责服务器的人.然后我们可以在需要时重置它.那么,如何使用站点内某个页面上的按钮重置ASP.NET 2.0网站?
非常感谢,
麦克风
在请求之后,对数据库的所有连接似乎都已关闭
这里的问题是"似乎"这个词.例如,这个代码"似乎"会关闭连接,但在某些情况下它不会:
var conn = new SqlConnection("MyConnection");
var cmd = new SqlCommand("query string here", conn);
cmd.ExecuteNonQuery();
conn.Close():
Run Code Online (Sandbox Code Playgroud)
我可以听到你说,"当然它关闭了连接.难道你没有看到'conn.Close();' 线?" 问题是有些事情可能会阻止conn.Close()行执行.
相反,你需要做这样的事情:
using (var conn = new SqlConnection("MyConnection"))
using (var cmd = new SqlCommand("query string here", conn))
{
cmd.ExecuteNonQuery();
}
Run Code Online (Sandbox Code Playgroud)
该代码将始终关闭连接.
如果你真的认真对待"重置"应用程序,你可能会尝试打电话Environment.Exit()
,但是再次:这是一个坏主意.
归档时间: |
|
查看次数: |
654 次 |
最近记录: |