Remoting events .NET 2.0
От: MobyDick  
Дата: 16.08.06 19:20
Оценка:
Подскажите наиболее простое решение для реализации events в Remoting
Re: Remoting events .NET 2.0
От: hugo Австрия  
Дата: 17.08.06 06:26
Оценка:
Здравствуйте, MobyDick, Вы писали:

MD>Подскажите наиболее простое решение для реализации events в Remoting


А какие у вас есть сложные решения? По-моему, их нет так уж и много: простенький прокси-класс, производный от MBR, интерфейс которого известен на сервере. Метод прокси регистрируется как обработчик события на сервере. Сделать у прокси еще одно событие, на которое подписывается клиент и которое возбуждается при вызове обработчика на серверное событие. Может че-нить с дженериками помутить, чтоб не плодить прокси-классы... Ф-у-ух
Да и вообще, лучше event'ы не использовать, ну тока если уж очень надо и в локалке, а так лучше не стоит.
Re[2]: Remoting events .NET 2.0
От: MobyDick  
Дата: 17.08.06 06:51
Оценка:
H>А какие у вас есть сложные решения? По-моему, их нет так уж и много: простенький прокси-класс, производный от MBR, интерфейс которого известен на сервере. Метод прокси регистрируется как обработчик события на сервере. Сделать у прокси еще одно событие, на которое подписывается клиент и которое возбуждается при вызове обработчика на серверное событие. Может че-нить с дженериками помутить, чтоб не плодить прокси-классы... Ф-у-ух
H>Да и вообще, лучше event'ы не использовать, ну тока если уж очень надо и в локалке, а так лучше не стоит.

К чему такие трудности? В 1,1 вроде, работало без прокси класса. А можно какойнить примерчик?
Re[3]: Remoting events .NET 2.0
От: hugo Австрия  
Дата: 17.08.06 07:09
Оценка:
Здравствуйте, MobyDick, Вы писали:

H>>А какие у вас есть сложные решения? По-моему, их нет так уж и много: простенький прокси-класс, производный от MBR, интерфейс которого известен на сервере. Метод прокси регистрируется как обработчик события на сервере. Сделать у прокси еще одно событие, на которое подписывается клиент и которое возбуждается при вызове обработчика на серверное событие. Может че-нить с дженериками помутить, чтоб не плодить прокси-классы... Ф-у-ух

H>>Да и вообще, лучше event'ы не использовать, ну тока если уж очень надо и в локалке, а так лучше не стоит.

MD>К чему такие трудности? В 1,1 вроде, работало без прокси класса.

В чем трудность-то? В создании дополнительного класса? А вы предпочитаете класс, который предназначен сугубо для использования на клиенте, сделать производным от MBR и отправить его на сервер? Может это и проще, но уж, ИМХО, коряво.
Re[2]: Remoting events .NET 2.0
От: sndanil Россия  
Дата: 17.08.06 07:21
Оценка:
Здравствуйте, hugo, Вы писали:

H>Здравствуйте, MobyDick, Вы писали:


MD>>Подскажите наиболее простое решение для реализации events в Remoting


H>А какие у вас есть сложные решения? По-моему, их нет так уж и много: простенький прокси-класс, производный от MBR, интерфейс которого известен на сервере. Метод прокси регистрируется как обработчик события на сервере. Сделать у прокси еще одно событие, на которое подписывается клиент и которое возбуждается при вызове обработчика на серверное событие. Может че-нить с дженериками помутить, чтоб не плодить прокси-классы... Ф-у-ух


не интерфейс, а реализация
Re[3]: Remoting events .NET 2.0
От: hugo Австрия  
Дата: 17.08.06 07:23
Оценка:
Здравствуйте, sndanil, Вы писали:

H>>А какие у вас есть сложные решения? По-моему, их нет так уж и много: простенький прокси-класс, производный от MBR, интерфейс которого известен на сервере. Метод прокси регистрируется как обработчик события на сервере. Сделать у прокси еще одно событие, на которое подписывается клиент и которое возбуждается при вызове обработчика на серверное событие. Может че-нить с дженериками помутить, чтоб не плодить прокси-классы... Ф-у-ух


S>не интерфейс, а реализация


А зачем серверу реализация?
Re[4]: Remoting events .NET 2.0
От: sndanil Россия  
Дата: 17.08.06 07:52
Оценка:
Здравствуйте, hugo, Вы писали:

S>>не интерфейс, а реализация


H>А зачем серверу реализация?


скучает он без нее

http://support.microsoft.com/default.aspx?scid=kb;en-us;312114
Re[5]: Remoting events .NET 2.0
От: hugo Австрия  
Дата: 17.08.06 08:37
Оценка:
Здравствуйте, sndanil, Вы писали:

S>Здравствуйте, hugo, Вы писали:


S>>>не интерфейс, а реализация


H>>А зачем серверу реализация?


S>скучает он без нее


Т.е. вы хотите сказать, что если я на сервер выложу сборку только с определением интерфейса, например, IProxy, и буду передавать на сервер объект данного класса через параметр типа IProxy, то ничего работать не будет?


/// сборка находится на сервере и клиенте
interface IProxy
{
   void CallbackFunc();
}


/// сборка только на клиенте
class Proxy : MarshalByRefObject, IProxy
{
   public event SomeDelegate ServerEvent;
   ///
   
   void IProxy.CallbackFunc()
   {
      if(ServerEvent != null)
      {
           ServerEvent();
      }
   }
}


class Client
{
    void RegisterHandler()
    {
       IProxy proxy = new Proxy();
       proxy.ServerEvent += ..... bla-bla
        _serverObj.RegisterHandler(proxy);
    }
}


class Server : MBR
{
   public void RegisterHandler(IProxy proxy)
   {
        ///
   }
}


Re[6]: Remoting events .NET 2.0
От: sndanil Россия  
Дата: 17.08.06 08:44
Оценка:
Здравствуйте, hugo, Вы писали:

H>Т.е. вы хотите сказать, что если я на сервер выложу сборку только с определением интерфейса, например, IProxy, и буду передавать на сервер объект данного класса через параметр типа IProxy, то ничего работать не будет?


так точно
Re[7]: Remoting events .NET 2.0
От: hugo Австрия  
Дата: 17.08.06 10:01
Оценка:
Здравствуйте, sndanil, Вы писали:

S>Здравствуйте, hugo, Вы писали:


H>>Т.е. вы хотите сказать, что если я на сервер выложу сборку только с определением интерфейса, например, IProxy, и буду передавать на сервер объект данного класса через параметр типа IProxy, то ничего работать не будет?


S>так точно


Вы сами-то пробовали когда-нить использовать события на сервере? Мне кажется нет
Re[8]: Remoting events .NET 2.0
От: sndanil Россия  
Дата: 17.08.06 11:17
Оценка:
Здравствуйте, hugo, Вы писали:

H>>>Т.е. вы хотите сказать, что если я на сервер выложу сборку только с определением интерфейса, например, IProxy, и буду передавать на сервер объект данного класса через параметр типа IProxy, то ничего работать не будет?


S>>так точно


H>Вы сами-то пробовали когда-нить использовать события на сервере? Мне кажется нет


шьёрт побьери, ты прав ... если передавать в качестве параметра, то работает ...

ЗЫ: события использовал, тока подписывался непосредственно к событиям сервера.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.