В WCF возможно ли передать делегат удаленному объекту? - PullRequest
1 голос
/ 08 мая 2009

Можно ли передать делегат удаленному объекту WCF от клиента и заставить удаленный объект выполнить делегат?

Я бы не догадывался, поскольку delgate - это указатель на функцию для клиентского процесса.

Моя цель - создать структуру интерфейса, чтобы я мог «подписаться» на события от клиента к интерфейсу. Я передаю delgate от клиента интерфейсу и хочу, чтобы интерфейс мог выполнять событие.

Идея состоит в том, чтобы интерфейс мог загружаться как в сборке, так и в удаленном режиме, и чтобы код работал одинаково.

Если я не могу передать делегата, как я могу реализовать структуру события?

Ответы [ 2 ]

5 голосов
/ 08 мая 2009

не является «делегатом» в C # как таковом, но в WCF у вас есть дуплексные привязки для включения обратного вызова со стороны службы на сторону клиента

http://msdn.microsoft.com/en-us/library/system.servicemodel.wsdualhttpbinding.aspx

2 голосов
/ 08 мая 2009

Я сомневаюсь, что вы могли бы придумать единый способ передачи делегата от клиента C # в реализацию службы Java и правильно его выполнить ......

WCF является , а не строгой реализацией .NET и, следовательно, имеет дело с проблемами взаимодействия. Он не может полагаться на предположение, что оба конца диалога находятся в .NET - поэтому вы не должны выбрасывать пользовательские исключения между сервером и клиентом (исключения являются конструкцией .NET) - вместо этого вы должны использовать ошибки SOAP ( совместимы).

Так что я не думаю, что то, что вы хотите сделать, можно сделать с делегатом - вам придется придумать другой способ достичь своей цели.

Марк

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...