1.Если регистрируешь на сервере tcp канал:
TcpChannel chan = new TcpChannel(4000);
ChannelServices.RegisterChannel(chan);
RemotingConfiguration.RegisterWellKnownServiceType(typeof(Server.ServerEvent),
"event", WellKnownObjectMode.Singleton);
то,при подключении события сервера ,при запуске клиента, генирится исключение SecurityException и сообщение,что объект типа
System.DelegateSerializationHolder и все производные от него типы не могут быть десериализованы на этом уровне
безопасности.
2.Если регистрируешь на сервере tcp канал таким образом
Hashtable property = new Hashtable();
property["port"] = 4000;
BinaryServerFormatterSinkProvider sinkSrv = new BinaryServerFormatterSinkProvider();
sinkSrv.TypeFilterLevel = TypeFilterLevel.Full;
TcpChannel chan = new TcpChannel(property, new BinaryClientFormatterSinkProvider(),
sinkSrv);
ChannelServices.RegisterChannel(chan);
RemotingConfiguration.RegisterWellKnownServiceType(typeof(Server.ServerEvent),
"event", WellKnownObjectMode.Singleton);
то на клиенте во время исполнения при подключении серверного события :
IEvent.IEvent srv = (IEvent.IEvent)Activator.GetObject(typeof(IEvent.IEvent), "
tcp://localhost:4000/event");
srv.EventAct += new IEvent.ActivEventHandler(srv_EventAct);
генерится исключение:
TargetInvocationException was unhandled
Exception has been thrown by the target of an invocation.
Подскажите,как правильно сконфигурировать клиента , сервер и его события,для последущего приема их клиентом,при
этом чтобы клиент получал ссылку на удаленный объект с помощью Activator.GetObject(....) и взаимодействовал
с сервером через интерфейс.