private static void fillPool(String ip) { // заполняем пул подключениями //for (int poolIndex = 0; poolIndex < pool.Length; poolIndex++) { // Номер клиента в имени пользователя соответствует номеру подключения. //cnString = (new Regex(@"клиент_\d*")).Replace(cnString, "клиент_" + (poolIndex + 1).ToString()); // Номер клиента в имени пользователя временно соответствует ip. Для 77 - 1, а для 14 - 2 switch (ip) { case "192.168.135.14": cnString = (new Regex(@"клиент_\d*")).Replace(cnString, "клиент_2"); break; case "192.168.135.77": default: cnString = (new Regex(@"клиент_\d*")).Replace(cnString, "клиент_1"); // + (poolIndex + 1).ToString() break; } // Запускаем процесс 1с, но подключения пока нет. pool[0] = new V77Connection(cnString); } isReady = true; }
public static V77Connection GetV77Connection(String ip) { V77Connection v77cn = null; if (!isReady) { fillPool(ip); } if (pool.Length > 0) { v77cn = pool[0]; // Процесс 1с уже запущен теперь надо подключиться. v77cn.Open(); } return(v77cn); }