내 응용 프로그램에 ASP.Net WebserviceApplication을 사용하고 있으며 SQL Server와 통신 중입니다. 모든 사용자의 SQL 트랜잭션 후에 SQLConnection을 닫아야합니까, 매번 열어야합니까?Webservice의 모든 트랜잭션에 대해 SQLConnection을 닫아야합니까?
예 :
public void Connection()
{
if (connection == null)
connection = new SqlConnection(ConfigurationManager.ConnectionStrings["Conn"].ToString());
if (connection.State == ConnectionState.Closed)
connection.Open();
else if (connection.State == ConnectionState.Broken)
{
connection.Close();
connection.Open();
}
}
[WebMethod]
public long GetUsersRankMonthly(string userName)
{
Connection();
SqlCommand command = new SqlCommand("Select scores.Rank From (SELECT ROW_NUMBER() OVER(ORDER BY Score DESC) AS Rank,Score,NickName,ID FROM teatalay.TopScoresGeneral) scores Where UserName = @userName", connection);
command.Parameters.Add(new SqlParameter("@userName", userName));
var result = (long?)command.ExecuteScalar();
return result.HasValue ? result.Value : -1;
}
감사합니다.
답변 해 주실 수 있습니까? –
@ TuğrulEmreAtalay 가장 좋은 방법은 필요에 따라 연결을 연 다음 나중에'using' 블록 안에서 닫는 것입니다. 연결을 닫으면 실제로 닫히지 않지만 "[연결 풀] (http://msdn.microsoft.com/en-us/library/8xx3tyca%28v=vs.110%29.aspx)로 돌아갑니다. "그래서 연결이 다시 열리면 다시 사용할 수 있습니다. –
감사합니다. @Josh –