Erstmaliger Benutzer von Stackoverflow, aber ich habe seine Entwicklung über Coding Horror verfolgt.Die Eigenschaft 'ConnectionString' konnte nicht geändert werden. Der aktuelle Zustand der Verbindung ist offen
Ich habe massive Kopfschmerzen mit dem obigen Fehler. Ich habe ELMAH installiert und Google Analytics und da der Seitenverkehr zugenommen hat, habe ich die Anzahl der Male gesehen, in denen ich diesen Fehler gesehen habe.
Ich habe mein Bestes getan, um den Microsoft-Prinzipien zu folgen: http://msdn.microsoft.com/en-us/library/ms971481.aspx während der Entwicklung und ich habe meinen Code so weit wie möglich optimiert, basierend auf mehreren Quellen der Beratung im Internet.
Ich habe meine SqlConnection in einer öffentlichen Klasse;
Public Class pitstop
Public Shared oConn As New System.Data.SqlClient.SqlConnection
Public Shared Sub doConnect()
If oConn.State = ConnectionState.Closed Then
oConn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings("pitstopConnectionString").ConnectionString
oConn.Open()
End If
End Sub
Public Shared Sub doGarbage()
oConn.Dispose()
End Sub
' /// other code ///
End Class
Und in meinem Haupt-Anwendungsseiten, muss ich sehr ähnlich wie diese:
Private Sub doPump()
pitstop.doConnect()
Dim cmd As New System.Data.SqlClient.SqlCommand("doGetCategory", pitstop.oConn)
Dim dt As New DataTable
Dim dr As SqlDataReader
cmd.Parameters.Add("@cat", SqlDbType.Int)
cmd.Parameters("@cat").Value = CType(Request.QueryString("id"), Integer)
cmd.CommandType = CommandType.StoredProcedure
dr = cmd.ExecuteReader()
While dr.Read()
If dr.HasRows = True Then
litCategory.Text = dr("category")
litCategoryDesc.Text = pitstop.doMakeReadyForHTML(dr("desc"))
End If
End While
cmd = Nothing
dr.Close()
pitstop.doGarbage()
End Sub
ich diese Methode überall verwendet haben und die meiste Zeit gut es funktioniert, aber jetzt ist die Website die Dramen haben begonnen, entsetzlich beschäftigt zu sein! Hat jemand irgendwelche Ideen?
Ich würde es vorziehen, Berge von Code nicht neu schreiben zu müssen, aber ich bin offen für Vorschläge.
:)
Chris
+1 für mich es :-) –