Здравствуйте, <Аноним>, Вы писали:
А>Привет всем. Я только начал изучать .NET Remoting. Есть приложение-сервер и приложение-клиент. Конфигурационный файл сервера
[skipped]
А>Вроде все нормально, вызов функции RemotingConfiguration.Configure в клиенте происходит нормально. Проблема следующая. При вызхове следующей строки
А>А> m_IJobServer.JobEvent += new JobEventHandler(this.MyJobEventHandler);
А>
А>возникает эксептион — Cannot load file or assembly JobClient.exe bla bla bla. Вопрос — че за нафиг, и вообще связано ли это с .NET Remoting?
Да, связано... чтобы подписаться на обработку делегата, надо чтобы на сервере был тип, который подписывается.
Как вариант — сделать ProxyClass (не путать с XXXProxy из .Net Framework) примерно так:
public class EventProxy
{
public void Event(object sender, EventArgs e)
{
if (RealEvent != null)
RealEvent(sender, e);
}
public event EventHandler RealEvent;
}
Описать этот класс в серверной сборке и подписывать его метод на события (на клиенте, естессно) и на клиенте же подписаться на его события... примерно так:
public void ClientEventSubscription()
{
EventProxy proxy = new EventProxy();
serverObject.Event += new EventHandler(proxy.Event);
proxy.RealEvent += new EventHandler(MyEventHandler);
}
тогда все запашет...
... << RSDN@Home 1.2.0 alpha rev. 0>>
Если при компиляции и исполнении вашей программы не происходит ни одной ошибки — это ошибка компилятора :)))