COM+ - безграничность гемороя

Для неординарных вопросов. Если вы опытный программист, попавший в трудную ситуацию, — вам сюда.

Модератор: gaidar

Правила форума
Этот раздел не предназначен для того, чтобы вы адресовали свою проблему профессионалам.
Этот раздел предназначен для профессионалов, которые столкнулись с проблемой и не могут решить ее самостоятельно.
Если вы считаете себя профессионалом, а свою проблему сложной — вам сюда.
Если модератор посчитает, что вы ошиблись, то на первый раз он перенесет ваше сообщение в основной раздел без последствий для автора. Во второй раз тема будет закрыта, а автору будет выписано нарушение. В третий раз автор будет забанен.
Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

COM+ - безграничность гемороя

Сообщение Antonariy » 22.01.2007 (Пн) 12:21

Продолжаем разговор, начатый здесь.

Избавился от интерфейса IServer, процедуру
Код: Выделить всё
Private Function IServer_RunAction(Action As String, ActionParams As UniversalPI.Parameters, SessionParams As UniversalPI.Parameters) As String
заменил на
Код: Выделить всё
Public Function RunAction(ByVal Action As String, ByVal ActionParams As Object, ByVal SessionParams As Object) As String
прокси заработало, появиласть возможность отдебажить сервер под вб, но тут всплыла ошибка, которая, похоже, и была первопричиной предыдущей проблемы - error in loading dll и object does not support this property or method.

ActionParams и SessionParams все еще остаются объектами библиотеки UniversalPI, которая зареференсена в сервере. Но любое действие с ними вызывают ошибку "доступ запрещен". В watch под именем переменной пишется No variables. Дал необходимые ntfs-права на файл UniversalPI.dll (предыдущие проблемы доступа, когда клиент не мог создать объект, были как раз из-за их отсутствия), все равно доступ запрещен. Библиотека UniversalPI зарегистрирована и на клиенте и на сервере. Откель такая засада? ADODB.Recordset, к примеру, тоже зарегистрирован везде и передается без проблем и дурацких ошибок доступа.
Лучший способ понять что-то самому — объяснить это другому.

S397
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 02.12.2005 (Пт) 13:31

Сообщение S397 » 22.01.2007 (Пн) 18:30

Microsoft сильно везде рекомендует передевать в методы компонентов COM+ в качестве параметров скалярные типы или "designed for remoting" ADODB.Recordset или XML в виде строки. Т.е. если передавать ActionParams и SessionParams как Recordset все будет работать.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 22.01.2007 (Пн) 21:30

A мне нужен не рекордсет.

ADD: хотя какая разница? Рекордсет вполне справится той же задачей.
Лучший способ понять что-то самому — объяснить это другому.

S397
Новичок
Новичок
 
Сообщения: 25
Зарегистрирован: 02.12.2005 (Пт) 13:31

Сообщение S397 » 23.01.2007 (Вт) 17:41

Ага, только клиентский и отключенный

codemaster
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 604
Зарегистрирован: 13.02.2004 (Пт) 13:35

Re: COM+ - безграничность гемороя

Сообщение codemaster » 24.01.2007 (Ср) 0:52

Кстати что стоит на закладках безопасность и активация ?
//<-
Mit freundlichen Grüßen
//->

Random
Новичок
Новичок
Аватара пользователя
 
Сообщения: 45
Зарегистрирован: 21.02.2006 (Вт) 6:08
Откуда: Пермь

Сообщение Random » 04.11.2007 (Вс) 0:56

возникала и у меня.
Была задача: клиентам одной сети (1) поставлять некоторые данные с файл-сервера, находящегося в другой сети (2). На сервере, который в двух сетях - две сетевые карты без общего доступа. Написал программу. The программа (виз Ремоте автоматион сервер птичкой) через созданный АктивХ (реганный на клиенте и сервере соответственно) и при содействии прикладной проги Automation server вроде наз-ся (в комплект Вижул студио входит) В общем тоже все работало, пока в сети 2 шлюз с похожим на IP сети 1 (навроде 192.168.1.1 и 192.168.1.100) Пришлось сменить IP сети 1 - тк программа стала вести совершенно не понятно: то работает, то вешается, то снова работает. Так вот, как мне показалось, пакетики прилетают из сети 1, а ответики (по непонятному приципу) иногда летят в сеть 2.
Может и у тебя теряются данные подобным образом?
:)


Вернуться в Раздел для Профессионалов

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList