如何使用按钮重置站点内的asp.net网站?

Mik*_*ebb 0 c# asp.net

我正在使用ASP.NET 2.0网站.我遇到的问题是它查询数据库以获取它在屏幕上显示的信息,但数据库偶尔会到达有太多打开连接的地方.这导致网站拒绝在该数据库错误之后为任何人登录的尝试.

造成这种情况的原因是许多用户将登录,执行他们需要执行的操作,但是在他们执行其他操作时保持网站运行而不注销.它会超时,但连接似乎仍然是开放的.然后我们必须联系其运行的服务器的负责人并让他为我们重置它.

我查看了,在发出请求和查询之后,对数据库的所有连接似乎都被关闭了.所以,我想要做的是添加一个按钮,点击后将重置网站,而不是每次都要打电话给负责服务器的人.然后我们可以在需要时重置它.那么,如何使用站点内某个页面上的按钮重置ASP.NET 2.0网站?

非常感谢,

麦克风

Joe*_*orn 6

在请求之后,对数据库的所有连接似乎都已关闭

这里的问题是"似乎"这个词.例如,这个代码"似乎"会关闭连接,但在某些情况下它不会:

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(),但是再次:这是一个坏主意.