ResultSet IOneCWebService2.ExecuteScript( string _connectionName, string _poolUserName, string _poolPassword, string _script ) { try { if (ConnectionPool.Pools.ContainsKey(_connectionName)) { AbstractAdapter adapter = ConnectionPool.Pools[_connectionName].GetConnection(_poolUserName, _poolPassword); try { return(adapter.ExecuteScript(_script)); } finally { ConnectionPool.Pools[_connectionName].ReleaseConnection(adapter); } } else { throw new Exception("Connection with name '" + _connectionName + "' not found"); } } catch (Exception _e) { SimpleLogger.DefaultLogger.Severe("Exception in ExecuteRequest: " + _e.ToString()); ResultSet resultSet = new ResultSet(); resultSet.Error = _e.ToString(); return(resultSet); } }
public void TestLoop() { ConnectionPool pool = new ConnectionPool(); pool.Logger = new ConsoleLogger(); pool.Parameters.Add(ConnectionPool.AdapterTypeParam, "OneCService2.V81Adapter"); pool.Parameters.Add(ConnectionPool.NameParam, "TestName"); pool.Parameters.Add(ConnectionPool.PoolSizeParam, "1"); pool.Parameters.Add(ConnectionPool.PoolUserNameParam, "PoolUserName"); pool.Parameters.Add(ConnectionPool.PoolPasswordParam, "PoolPassword"); pool.Parameters.Add(V81Adapter.ModeParam, "File"); pool.Parameters.Add(V81Adapter.FileParam, @"C:\Work\1C\Test"); pool.Parameters.Add(V81Adapter.UserNameParam, ""); pool.Parameters.Add(V81Adapter.PasswordParam, ""); try { pool.Init(); int loopCount = 1000000; for (int i = 0; i < loopCount; i++) { AbstractAdapter adapter = pool.GetConnection("PoolUserName", "PoolPassword"); try { ResultSet r = adapter.ExecuteScript( "с = Новый Структура(); с.Вставить(\"A\", Справочники.Номенклатура.НайтиПоКоду(1)); с.Вставить(\"B\", 2); результат=с;" ); Console.WriteLine("Loop: " + i); Thread.Sleep(50); } finally { pool.ReleaseConnection(adapter); } } } finally { pool.Done(); } }