|
|
|
Создать АктивИкс
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Хожу в трех соснах (так понимаю): Есть 1С (процессы). В каждом можно инициализировать внешнюю компоненту (dll примеры есть напишу). Мне нужно в этой ВК реализовать сервер (прием сообщений). Чтобы потом создал я страницу в веб-приложении, вложил туда АктивИкс-контейнер, и обратился через него к конкретному процессу 1С (открой типа документ, который юзер на странице увидел и захотел). А поскольку страница зависит от того процесса (1С) из которого она родилась (могу идентификатор создать при инициализации ВК и в Веб-приложение его передать), то и документ должен открыться именно в этом процессе, а не в первом подходящем. Суть вопроса: Как реализовать эту коллекцию серверов и интерфейс доступа к ним (самый простой типа функция АЗагруженЛиСерверСообщений1СИлиЭту1СУжеЗакрыли(ИДсервера) ЗаслатьТудаСообщение("Найди и открой в журнале док1") ) Сервера располагаются в пространстве процессов 1С. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2006, 22:19 |
|
||
|
Создать АктивИкс
|
|||
|---|---|---|---|
|
#18+
Написал, сижу и думаю, вероянто котлеты отдельно - мухи отдельно. Внешняя компонента к 1С - создает COM объекты, некоторого локального сервера ВсеЗапущенныеПроцессы1С.exe, который загружается системой (если никто его раньше не грузил и выгружается если ни одного 1СПроцесса в памяти не осталось). А АктивИкс я создаю в странице и обращаюсь через него к этому ВсеЗапущенныеПроцессы1С.exe на тему АНетЛиУТебяСозданногоОбъекта(Ид1СПроцесса) и в случае, если есть такой объект, запали в нем событие. Тогда этот сервер поджигает событие в объекте и ВК1СПроцесса реагирует на поджег её объекта и передает в 1С соообщение ОткройЧертовДокумент("такой-то"). Тут 1С его отпирает и все счастливы. Прокатит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.05.2006, 22:27 |
|
||
|
Создать АктивИкс
|
|||
|---|---|---|---|
|
#18+
Эта ... подумалось, а может есть стандартная виндовая очередь сообщений? И локальный сервер писать не надо. Что скажите други? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2006, 11:27 |
|
||
|
Создать АктивИкс
|
|||
|---|---|---|---|
|
#18+
Первое, что приходит в голову при словах очередь сообщений - Microsoft Message Queue ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2006, 22:01 |
|
||
|
Создать АктивИкс
|
|||
|---|---|---|---|
|
#18+
Вдруг не из той оперы :) фактически это я и имел ввиду, но поскольку в голову приходит больше не умных мыслей, решил, что лучше спросить людей, которые лучше ей пользуются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2006, 00:08 |
|
||
|
Создать АктивИкс
|
|||
|---|---|---|---|
|
#18+
Вот обчитался platform SDK на тему Reading Messages Asynchronously там почему-то делается loop периодом опроса очереди на тему нет ли сообщения для X, и написано, что асинхронное чтение нельзя реализовать в многопоточной среде. Эта схема мне не нравится, не хочу loop, хочу отдельный поток застопить в синхренизаторе, чтобы как только Event так сразу реакция. Значит не подходит мне MSMQ? Или я все плохо про неё понял?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2006, 13:10 |
|
||
|
Создать АктивИкс
|
|||
|---|---|---|---|
|
#18+
Это несколько отличается от того, что я видел в MSDN. Если вы возьмете старый (до .NET) MSDN July 2000, то там приведены сразу 3 возможных варианта чтения из очереди ассинхронно. 1 и самый простой - это определить финкцию обратного вызова Callback Routine. 2. Использовать overlapped structure и 3. Воспользоваться ComplitionPort. Есть еще книжка COM/DCOM Unlished ISBN 0-672-31352-9 В которой этот предмнет описывается в разделе Advanced MSMQ Programming. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2006, 01:53 |
|
||
|
Создать АктивИкс
|
|||
|---|---|---|---|
|
#18+
Прочитал про MSMQQueue, типа где там можно влепить callback. Мысли появились такие: атрибутов, свойств для этого нет. Заточен он под работу в сети и домене. В этом случае, то, что я хотел (синхронизаторы), и callback использовать сложно (нецелесообразно, когда события бегают по сети в разных концах мира), тут как раз loop с просмотром и таймаутом - самое разумное. Сама схема красиво вырисовывалась, каждый процесс 1С при помощи ВК организует свою очередь и параметры её передает в 1С, 1С передает их в веб приложение, веб приложение засовывает туда сообщение, и оно обрабатывается в ВК по callback. Спасибо, буду пытаться думать дальше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2006, 00:03 |
|
||
|
|

start [/forum/topic.php?fid=57&gotonew=1&tid=2031342]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
146ms |
get topic data: |
9ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 476ms |

| 0 / 0 |
