в многопоточном режиме переполняется пул соед-ий с MSSQL
От: snowstorm Россия  
Дата: 04.10.10 13:06
Оценка:
строка подключения не меняется.
connections закрываются.
Рабочий режим (не debug!).
Получаю стандартный эксцепшин о переполнении пула MSSQL.

<add name="connstr" connectionString="Server=10.xx.xx.xx\SQL2005,1447;Database=XXX;User=User;Password=xxx;Min Pool Size=5;Max Pool Size=10000;" providerName="System.Data.SqlClient" />

используется реализация SmartThreadPool: http://www.codeproject.com/KB/threads/smartthreadpool.aspx

        Debug.Print("Start: {0},{1}", DateTime.Now, "Init");
        threadPool.MaxThreads = 500;
        threadPool.MinThreads = 100;
....

        for(int i = 0; i < n; i++) {
            try {
                    WorkItems.InitWorkItem item = new WorkItems.InitWorkItem();
                    threadPool.QueueWorkItem(new WorkItemCallback(item.Calculate), null);
                }
            }
            catch (System.Exception e) {
                throw new System.ApplicationException("Initializagtion Exception", e);
            }
        }
        threadPool.WaitForIdle();
//так тоже пробовал на всякий случай:
//        GC.Collect();
//        GC.WaitForPendingFinalizers();
//        GC.Collect();


//рабочий метод потока:

        using (SqlConnection conn = new SqlConnection(ConnectionManager.GetConnectionString()))
        {
            using (SqlCommand cmd = new SqlCommand {
                CommandText = "dbo.xsp_Init",
                CommandType = CommandType.StoredProcedure,
                Connection = conn
            }) {
                cmd.Parameters.AddWithValue("@xxx", x);
                cmd.CommandTimeout = 0;
                conn.Open();
                try {
                    cmd.ExecuteNonQuery();
                }
                catch (Exception ex) {
                    throw new ApplicationException("Init Error:" + ex.Message, ex);
                }
                finnaly{
                    //на всякий случай так принудительно тоже пробовал закрывать
                    //conn.Close()
                }
            }
        }
Re: в многопоточном режиме переполняется пул соед-ий с MSSQL
От: Tom Россия http://www.RSDN.ru
Дата: 05.10.10 10:18
Оценка:
Какое сообщение о ошибке?
Народная мудрось
всем все никому ничего(с).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.