簡體   English   中英

服務器中的連接超時

[英]Connection timeout in server

我想問一下連接超時問題,因為它有問題。 錯誤是

“超時到期。在從池中獲取連接之前已經過了超時時間。這可能是因為所有池化連接都在使用中,並且已達到最大池大小。”

這樣的代碼可以導致超時連接嗎? 呼叫連接的最佳做法是什么?

using (var cnn = OpenExternalContractor()) //call connection string
{
    var query = @"insert into interfaceRequest  (requestNo,requestAssemblyName,requestApplicationName,requestFunctionName,
            requestParameters,requestUserName,requestUserMail,requestDate)
            values (@requestNo,@requestAssemblyName,@requestApplicationName,@requestFunctionName,
            @requestParameters,@requestUserName,@requestUserMail,getDate())";
                cnn.Execute(query, new
                {
                    requestNo = requestNo,
                    requestAssemblyName = requestAssemblyName,
                    requestApplicationName = jobName.Split('-')[0],
                    requestFunctionName = jobName.Split('-')[1],
                    requestParameters = requestParameters,
                    requestUserName = requestUserName.Replace("\"", "\\"),
                    requestUserMail = userMail
                });
                //Call another function here that call connection string
                PersonnelRepository.UpdateLastNumber(requestNamePrefix,   Convert.ToInt32(lastNumber));
}

public static void UpdateLastNumber(string type, int value)
{
    using (var cnn = OpenExternalContractor()) //Call connection string
    {
        var query = "update AutoNumber set LastNumber = " + value + " where Type = '" + type + "'";
        cnn.Query<int>(query);
    }
}

以下是連接字符串的代碼:

protected static IDbConnection OpenExternalContractor() 
{
    IDbConnection dbConnection = new SqlConnection(WebConfigurationManager.ConnectionStrings["ExternalContractor"].ConnectionString);
    dbConnection.Open();
    return dbConnection;
}

謝謝,

使用WebConfigurationManager.ConnectionStrings["ExternalContractor"].ConnectionString來獲取連接字符串時,可以通過更改此連接字符串來在WebConfig文件中更改連接超時,例如:

Data Source=(local);
Initial Catalog=AdventureWorks;
Integrated Security=SSPI;
Connection Timeout=30

來自social.msdn.microsoft.com

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM