public override void TestConnection(LoggerForm logger, string connectionString, string login, string password) { try { logger.DefaultBoldText("Тестовое подключение к базе 1С через WEB сервис.\r\n\r\n"); logger.DefaultText("Инициализация сервиса запросов..."); using Tabel tabel = new Tabel { Url = connectionString, SoapVersion = System.Web.Services.Protocols.SoapProtocolVersion.Soap12, Credentials = new NetworkCredential(Utf8ToWin1251(login), Utf8ToWin1251(password)) }; logger.SuccessText(" ✓ ВЫПОЛНЕНО\r\n"); logger.DefaultText("Отправка тестового запроса..."); tabel.GetTabel("", "20200101", "20200101"); logger.SuccessText(" ✓ ВЫПОЛНЕНО\r\n"); logger.DefaultBoldText("\r\nТестирование успешно завершено!"); } catch (Exception ex) { logger.ExceptionText(ex); ConnectionStatus = ConnectionStatus.Disconnected; } finally { logger.Complete(); } }
public override void TestConnection(LoggerForm logger, string connectionString, string login, string password) { //тестирование соединения происходит с использованием библиотек VisualBasic //это необходимо для получения человекочитаемых сообщений при исключениях. try { logger.DefaultBoldText("Тестовое подключение к базе 1С через COM порт.\r\n\r\n"); logger.DefaultText("Инициализация компонента ActiveX \"V83.COMConnector\"..."); object COMConnector = RuntimeHelpers.GetObjectValue(Interaction.CreateObject("V83.COMConnector")); if (logger.IsClosed) { return; } logger.SuccessText(" ✓ ВЫПОЛНЕНО\r\n"); logger.DefaultText("Установка соединения с 1С..."); connectionString = $"{connectionString}Usr=\"{login}\";Pwd =\"{password}\""; _ = RuntimeHelpers.GetObjectValue(NewLateBinding.LateGet(COMConnector, null, "Connect", new object[1] { connectionString }, null, null, null)); if (logger.IsClosed) { return; } logger.СustomText(" ✓ ВЫПОЛНЕНО\r\n", Color.Green, FontStyle.Bold); logger.СustomText("\r\nТестирование успешно завершено!", Color.Black, FontStyle.Regular); } catch (Exception ex) { logger.ExceptionText(ex); } finally { logger.Complete(); } }