我有一个很大的问题,我的某个网站无法加载大多数时间。不幸的是我无法上传图片。问题陈述如下
从池中获取连接之前经过的超时时间。这可能已经发生,因为所有使用的池连接和达到最大池大小。
我得到一个突出显示的第14行:upcmd.Connection.Open()。错误继续。
我根本不是专家所以我到目前为止所做的研究在webconfig中<add name="ConnectionString" connectionString="Data Source=yianniscy.db.7015338.hostedresource.com;initial catalog=xxxxxxx;User id=xxxxxx;Password=xxxxxxx;**Max Pool Size=100**" />
添加最大池大小的内容
问题仍然存在,尽管此应用程序由一个人使用,之前从未遇到此问题。一旦我的托管服务提供商进行升级,这就开始了。目前,我知道连接仍然是开放的,需要关闭。问题是我不知道放什么以及放在哪里。如果有人可以指导我到底在哪里,我会很感激。
Partial Class Default2
Inherits System.Web.UI.Page
Protected Sub ImageButton1_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles ImageButton1.Click
Dim conn As New SqlConnection(ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString)
Using upcmd As New SqlCommand("SELECT login FROM Xuser_tab WHERE name=@logname", conn)
upcmd.Parameters.Add(New SqlParameter("@Login_name", TextBox1.Text))
upcmd.Connection.Open()
Dim password_temp As String
Try
Dim dr As SqlDataReader = upcmd.ExecuteReader()
If dr.Read Then
password_temp = dr.Item(0)
If password_temp = TextBox2.Text Then
Response.Redirect("~/Controlpanel.aspx")
Else
End If
Image2.Visible = True
Label1.Visible = True
End If
答案 0 :(得分:1)
Using
在End Using
之后处理对象,因此在离开此构造时将关闭连接。
Using conn As New SqlConnection(ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString)
Using upcmd As New SqlCommand("SELECT login FROM Xuser_tab WHERE name=@logname", conn)
// @logname != @Login_name..
upcmd.Parameters.Add(New SqlParameter("@Login_name", TextBox1.Text))
upcmd.Connection.Open()
Dim password_temp As String
Try
Dim dr As SqlDataReader = upcmd.ExecuteReader()
If dr.Read Then
// code omitted
End Using
conn.Close() // Optional
End Using
// Here will conn be disposed and connection closed
An explanation Close()
和Dispose()
之间的差异。 Dispose()
是在End Using
后面调用的方法。
答案 1 :(得分:0)
我确定您的代码中存在问题,请检查以下内容:
对于单个用户网站,您不需要大型连接池,通常一次只使用一个连接。通过一些代码,我们可以更具体。