WinService в качестве сервера
От: Аноним  
Дата: 17.10.09 21:50
Оценка:
Здравствуйте! Помогите реализовать такую вот систему клиент-сервер:
в качестве сервера выступает виндовый сервис, который делает некоторе действие и по окончание делания оповещает клиента — предоставляет ему некоторые данные.
клиент — asp-приложение.
Это тз. Менять ничего нельзя.
По отдельности реализовать все не проблема, но как заставить сервиса оповещать клиента? Тут вообще получается, что он (сервис) как бы в роли клиента выступает.
Re: WinService в качестве сервера
От: x64 Россия  
Дата: 17.10.09 23:20
Оценка:
А>клиент — asp-приложение.
А>По отдельности реализовать все не проблема, но как заставить сервиса оповещать клиента? Тут вообще получается, что он (сервис) как бы в роли клиента выступает.

Я вообще не знаток ASP'а, но чем не устраивают обычные механизмы межпроцессного взаимодействия типа пайпы, например (оно есть в .Net 3.5)?
Re: WinService в качестве сервера
От: Lloyd Россия  
Дата: 17.10.09 23:34
Оценка:
Здравствуйте, Аноним, Вы писали:

А>По отдельности реализовать все не проблема, но как заставить сервиса оповещать клиента? Тут вообще получается, что он (сервис) как бы в роли клиента выступает.


Пусть клиент периодически опрашивает сервис.
Re: WinService в качестве сервера
От: Мизантроп  
Дата: 18.10.09 06:11
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте! Помогите реализовать такую вот систему клиент-сервер:

А>в качестве сервера выступает виндовый сервис, который делает некоторе действие и по окончание делания оповещает клиента — предоставляет ему некоторые данные.
А>клиент — asp-приложение.
А>Это тз. Менять ничего нельзя.
А>По отдельности реализовать все не проблема, но как заставить сервиса оповещать клиента? Тут вообще получается, что он (сервис) как бы в роли клиента выступает.

Боюсь, Вы привели недостаточно информации для содержательного ответа.
А>сервис, который делает некоторе действие
Кто инициирует выполнение этих действий? Хотя-бы в общих чертах, какие данные должен предоставить сервис клиенту? Сколько может быть заинтересованных получателей этих данных? Клиенты и сервер расположены на одной машине или возможен вариант сетевой работы? Если сеть возможна, то какая — локальная, глобальная, домены NT?
"Нормальные герои всегда идут в обход!"
Re: WinService в качестве сервера
От: SergeyT. США http://sergeyteplyakov.blogspot.com/
Дата: 18.10.09 07:02
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте! Помогите реализовать такую вот систему клиент-сервер:

А>в качестве сервера выступает виндовый сервис, который делает некоторе действие и по окончание делания оповещает клиента — предоставляет ему некоторые данные.
А>клиент — asp-приложение.
А>Это тз. Менять ничего нельзя.
А>По отдельности реализовать все не проблема, но как заставить сервиса оповещать клиента? Тут вообще получается, что он (сервис) как бы в роли клиента выступает.

Практически во всех framework-ах для построения распределенных и/или клиент-серверных приложений предусмотрены механизмы обратного вызова. В DCOM — это Connection Points, в .Net Remoting — это реализация клиентом MarshalByRefObject и использование механизма обратного вызова, в WCF эта функциональность встроена в механизмы двусторонних каналов (Duplex Channels), таких как netTcpBinding и WSDualHHTBBinding, применяя голый tcp можно использовать двустороннюю природу этого протокола и уведомлять через уже установленное соединение о произошедших событиях (подобный механизм использует netTcpBinding в WCF). Ну и всегда остается старый добрый периодический опрос сервера на предмет наличия изменений (aka Poll), о котором уже говорили выше.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.