Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Передать ссылку на сервер в исполняемый модуль - .NET-Remoting
|
|||
|---|---|---|---|
|
#18+
Есть следующее: Сервис: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. Код: plaintext 1. 2. 3. Код клиента не столь важен... Такой вопрос: как в исполняемый модуль передать ссылку на сервис? То есть в исполняемом модуле нужно вызвать метод, который прописан в классе сервиса.. Для чего это: Сервис создает поток при старте, в котором по таймеру некоторые действия выполняются и нужно по некоторому событию в этом потоке выполнять метод... Уведомление о событии идет с клиента. Клиент выполнит метод в исполняемом модуле (UpdateDB), который уже выполнить метод в сервисе и, подписанный на событие метод в потоке(StartWorkingAutoUpdate = new Thread(new ThreadStart(StartUpdate)); ), выполнится. Для всего этого нужна ссылка на сервис (иначе говоря this, но как её передать в исполняемый модуль?). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2008, 08:36 |
|
||
|
Передать ссылку на сервер в исполняемый модуль - .NET-Remoting
|
|||
|---|---|---|---|
|
#18+
Таки up... Ну хоть какие-нибудь мысли... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2008, 13:37 |
|
||
|
Передать ссылку на сервер в исполняемый модуль - .NET-Remoting
|
|||
|---|---|---|---|
|
#18+
Если честно, я ничего не понял, но для поддержания разговора. Я так понимаю, исполняемый модуль в сервис Вы успешно передаете. Тогда сделайте в исполняемом модуле метод SetServiceReference ( ServiceUpdate ref ), сервис, получив модуль вызовет этот метод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2008, 14:57 |
|
||
|
Передать ссылку на сервер в исполняемый модуль - .NET-Remoting
|
|||
|---|---|---|---|
|
#18+
Да, модуль передается, исполняется, всё ок. А как сервис вызовет этот метод? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2008, 16:00 |
|
||
|
Передать ссылку на сервер в исполняемый модуль - .NET-Remoting
|
|||
|---|---|---|---|
|
#18+
Ведь сервис, по сути, ничего не знает о модуле... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2008, 16:01 |
|
||
|
Передать ссылку на сервер в исполняемый модуль - .NET-Remoting
|
|||
|---|---|---|---|
|
#18+
UserusДа, модуль передается, исполняется, всё ок. А как сервис вызовет этот метод? Сервис вызовет любой метод "модуля" когда его запустят в OnStart()- первый раз из списка сервисов в контрольной панели - а потом - и при каждом рестарте (если будет automatic). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2008, 16:05 |
|
||
|
Передать ссылку на сервер в исполняемый модуль - .NET-Remoting
|
|||
|---|---|---|---|
|
#18+
Изначально экземпляр модуля создается на клиенте и в нем происходит вызов метода модуля.. Метод исполняется на сервисе, но код вызова метода пишется на клиенте, в сервисе нет ни строчки из исполняемого модуля.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2008, 17:16 |
|
||
|
Передать ссылку на сервер в исполняемый модуль - .NET-Remoting
|
|||
|---|---|---|---|
|
#18+
UserusИзначально экземпляр модуля создается на клиенте и в нем происходит вызов метода модуля.. Метод исполняется на сервисе, но код вызова метода пишется на клиенте, в сервисе нет ни строчки из исполняемого модуля.. Странноватая архитектура. У вас что, сервис подключается по ремоутингу к клиенту? То есть Windows service сам является клиентом? Как вы вообще это запускаете? в какой последовательности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2008, 17:25 |
|
||
|
Передать ссылку на сервер в исполняемый модуль - .NET-Remoting
|
|||
|---|---|---|---|
|
#18+
Нет, сервис является сервером.. Клиент - консольное приложение.. Я имею в виду, что в коде экземпляр модуля создается на клиенте, потом-то он выполняется на сервере.. SetServiceReference ( ServiceUpdate ref ) если в коде вот это написать и ref'ом передать this, то код не скомпилируется.. Или как ее надо вызвать правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2008, 18:33 |
|
||
|
Передать ссылку на сервер в исполняемый модуль - .NET-Remoting
|
|||
|---|---|---|---|
|
#18+
В проект модуля подключить сборку (ну, или хотя бы прокси) сервиса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2008, 18:38 |
|
||
|
Передать ссылку на сервер в исполняемый модуль - .NET-Remoting
|
|||
|---|---|---|---|
|
#18+
vagnerВ проект модуля подключить сборку (ну, или хотя бы прокси) сервиса? Это тоже сделал. Но что толку? Как получить ссылку на сам сервис, который запущен? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2008, 19:06 |
|
||
|
Передать ссылку на сервер в исполняемый модуль - .NET-Remoting
|
|||
|---|---|---|---|
|
#18+
Вроде получилось... В коде сервиса (который роль сервера играет) добавил: Код: plaintext В исполняемом модуле: Код: plaintext 1. 2. Пока в рабочем проекте не пробовал, пока только потестил, но вроде как serv содержит ссылку на сервис.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2008, 13:49 |
|
||
|
Передать ссылку на сервер в исполняемый модуль - .NET-Remoting
|
|||
|---|---|---|---|
|
#18+
А вот такой теперь вопрос, корректно ли вызвать напрямую метод сервиса из исполняемого модуля (потомка класса MarshalByRefObject): Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2008, 14:50 |
|
||
|
|

start [/forum/topic.php?fid=19&fpage=33&tid=1397931]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 280ms |
| total: | 430ms |

| 0 / 0 |
