#0
by Kiber
Использую COM-объект "V81.COMConnector" из VB.net, рассматриваемая цель - блокировка базы. Структура следующая: 1. Соединяюсь с агентом. 2. Получаю массив кластеров, перебираю их. 3. Прохожу аутентификацию на кластере с пустыми значениями 4. Получаю список рабочих процессов, перебираю их. 5. Открываю соединение с рабочим процессом. 6. Прохожу аутентификацию с логином и паролем, либо не использую аутентификацию, если использутеся NTLM. 7. Получаю список информационных баз, перебираю их. 8.1. (ОШИБКА) Пытаюсь изменить свойство ConnectDenied на True, выдает OutOfMemoryException. 8.2. Заполняю остальные параметры для блокировки базы. 9. Устанавливаю блокировку, вызвав метод UpdateInfoBase(<Информационная база>) соединения с рабочим процессом. Собственно, корень ошибки мне понятен - неправильно пройдена аутентификация. Однако, сама ошибка указывает либо не неправильную работу COM-объекта, либо неправильную работу С COM-объектом. Внимание, вопрос: Каким образом "правильно" проверить что аутентификация была пройдена успешно и что на информационную базу имеется нужный уровень доступа? Мысли: Смотрел несколько примеров блокировки базы с использованием COM-объектов, все примеры меняли свойство объекта, полученного указанным мною образом. Это, однако, не означает, что все эти примеры работали с COM-объектом так, как задумывалось разработчиками 1С. Это, в свою очередь, может означать, что полученный объект "информационная база" не предназначался для установки блокировки... Возможно, надо получить пустой объект "информационная база", заполнить его свойства и тогда при попытке вызывать метод UpdateInfoBase(<Информационная база>) соединения с рабочим процессом он выдаст ошибку, сгенерированную COM-объектом - "недостаточно доступа". Может-ли ошибка "OutOfMemoryException" возникать при попытке изменить read-only параметр COM-объекта? Если да, то как на .net проверить что параметр является read-only? Из мыслей сформулировались 2 варианта: 1. По другому (правильно) использовать com-объект для блокировки. 2. Проверить параметры COM-объекта таким образом, чтобы исключить ошибку (было предположение что они read-only).
#3
by Kiber
Как оказалось, я объявлял com-объекты как объекты. После объявления com-объектов через класс самого com-объекта v8 исчезла ошибка OutOfMemory. Сама задача, по всей видимости, решается проверкой полученного com-объекта информационная база на заполненность свойств, которые должны быть заполнены если аутентификация была успешной. Либо можно продолжить выполнение кода и поймать исключение, вызванное уже самим com-объектом, с информацией типа "Недостаточно прав пользователя на информационную базу". Ага, только не очень приятно ловить OutOfMemory, хотя и знаешь в чем причина.
#5
by Kiber
Это само собой :) Просто сама ошибка будет уходить на почту. Стандартный handler говорит что это OutOfMemory... Поэтому хотелось исключить свою ошибку, чтобы когда получишь реальный OutOfMemory - не гадать что это - реальная ошибка, или неинициализированный com-объект.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Быстрое сравнение больших .ert
- Как в СКД программно установить отбор по произвольному полю?
- УПП 1.2 Как оформить возврат оборудования переданного в монтаж на склад.
- v7: 1С 7.7 Тип значения в Запросе !
- 1C + SQL 2000 + Windows 7 + Изменение структуры конфигурации = Ошибка SQL StateHY010
- Как получить остатки и обороты по всем датам в периоде?
- SQL LIKE - как исключить строки, содержащие цифры ?
- Как сделать срез последних помесячно
- Не запускается 1С на Windows 7. Программа "1С:V7 starter program (multi-user)"
- Обрезка базы 1с 7.7 Торговля + Склад
- ЗУП: иностранец ошибка при тестировании на адрес АдрМЖРФ,АдрИНО
- Удаление объектов не под полными правами
- Можно как нибудь оставлять сообщения пользователю, после закрытия формы-владельца?
- Запуск 1С82 в режиме веб клиента
- ЗУП каким документом оформить возмещение ущерба до предела
- Не печатается отчетность?
- УПП. Как вернуть авиабилеты?
- План-фактный анализ в УТ. Кто юзает?
- Изменение налогового режима в КАМИН: Расчет зарплаты 3.0
- Вопрос по бух проводка 76.2 - 60.1