Remoting и использование объектов
От: severn Россия  
Дата: 16.06.03 06:24
Оценка:
Всем привет!

Такая проблема. Клиентское приложение (Windows Forms) передает ссылку на объект в серверное приложение (Windows Service), которое потом при необходимости вызывает у полученной ссылки некоторый метод. Метод работает с интерфейсными объектами клиентского приложения. Проблема заключается в том, что во время вызова этого метода — при обращении к клиентским интерфейсным объектам — серверное приложение входит в ступор. Т.е. сервис свою работу не прекращает но и никаких признаков жизни не подаёт.
Такая же ситуация возникает, если в методе используется НЕТ-овская обёртка для COM-объекта.

Кто-нить знает, в чем здесь проблема?
Re: Remoting и использование объектов
От: TK Лес кывт.рф
Дата: 16.06.03 06:35
Оценка:
Hello, "severn"
>
> Такая проблема. Клиентское приложение (Windows Forms) передает ссылку на объект в серверное приложение (Windows Service), которое потом при необходимости вызывает у полученной ссылки некоторый метод. Метод работает с интерфейсными объектами клиентского приложения. Проблема заключается в том, что во время вызова этого метода — при обращении к клиентским интерфейсным объектам — серверное приложение входит в ступор. Т.е. сервис свою работу не прекращает но и никаких признаков жизни не подаёт.
> Такая же ситуация возникает, если в методе используется НЕТ-овская обёртка для COM-объекта.
>
> Кто-нить знает, в чем здесь проблема?

Так видно вызов блокирующий вот, и признаков жизни нет. Потом-то все работает?
Можно попробовать использовать Delegate.BeginInvoke или просто делать вызов в отдельном потоке (пул потоков)
Posted via RSDN NNTP Server 1.5
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re: Remoting и использование объектов
От: Miem Россия  
Дата: 16.06.03 06:38
Оценка:
Здравствуйте, severn, Вы писали:

S>Всем привет!


S>Такая проблема. Клиентское приложение (Windows Forms) передает ссылку на объект в серверное приложение (Windows Service), которое потом при необходимости вызывает у полученной ссылки некоторый метод. Метод работает с интерфейсными объектами клиентского приложения. Проблема заключается в том, что во время вызова этого метода — при обращении к клиентским интерфейсным объектам — серверное приложение входит в ступор. Т.е. сервис свою работу не прекращает но и никаких признаков жизни не подаёт.

S>Такая же ситуация возникает, если в методе используется НЕТ-овская обёртка для COM-объекта.

S>Кто-нить знает, в чем здесь проблема?


Используй Control.BeginInvoke.
А вообще для безопасности многопоточности нельзя напрямую обращаться к контролам для этого есть Control.Invoke и Control.BeginInvoke
ICQ: 446240
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.