Groups | Blog | Home
all groups > dotnet remoting > june 2004 >

dotnet remoting : Issue with .net remoting events


DotNetJunkies User
6/29/2004 8:47:05 PM
Hi
For some reason, the event handler is not getting subscribed to the event.

Here's the code
=====================================
[quoted text, click to view]
using System;

namespace SharedAssemblyCarProject
{
public class EventShim: MarshalByRefObject
{
protected NewCarFoundEventHandler TargetHandlers;
public EventShim(NewCarFoundEventHandler Target)
{
TargetHandlers += Target;
}
public void Execute(string car)
{
TargetHandlers(car);
}
}

public delegate void NewCarFoundEventHandler(string car);
public interface ICarAgency
{
string[] GetCars();
string ReserverCar(string car);
event NewCarFoundEventHandler NewCarFoundEvent;
}
}
=====================================
[quoted text, click to view]
using System;
using SharedAssemblyCarProject;

namespace RemoteServer
{
public class AvisCarAgency : MarshalByRefObject, SharedAssemblyCarProject.ICarAgency
{
public AvisCarAgency()
{
//
// TODO: Add constructor logic here
//
}

public string[] GetCars()
{
if (NewCarFoundEvent!=null)
NewCarFoundEvent("Honda");
return new string[] {"Honda", "Toyota", "Civic", "Merc", "BMW", "NISSAN" };
}

public string ReserverCar(string car)
{
return "Reserverd";
}

public event NewCarFoundEventHandler NewCarFoundEvent;
}
}
======================================
[quoted text, click to view]
EventShim shim = new EventShim(new NewCarFoundEventHandler(AvisBoston_NewCarFoundEvent));

AvisBoston.NewCarFoundEvent += new NewCarFoundEventHandler(shim.Execute);

MessageBox.Show("Number: " + AvisBoston.GetCars().Length);
======================================

The method AvisBoston_NewCarFoundEvent is present in the client class. Also, I've added the typeFilterLevel attribute to get rid of the serialization exception in .net 1.1.

My problem is that although I think Im adding the handler in
AvisBoston.NewCarFoundEvent += new .....
statement, when I call the GetCars() method, it test for null of NewCarFoundEvent and returns true.

Any suggestions would be highly appreciated.


---
Posted using Wimdows.net NntpNews Component -

Ken Kolda
6/30/2004 8:32:56 AM
Check to make sure you're not remoting your AvisCarAgency instance as a
SingleCall instead of a Singleton -- that's the most likely source of your
problems.

Ken


[quoted text, click to view]
Also, I've added the typeFilterLevel attribute to get rid of the
serialization exception in .net 1.1.
[quoted text, click to view]
engine supports Post Alerts, Ratings, and Searching.

Sunny
6/30/2004 10:16:46 AM
Hi,

I can not see at first look any problem here. Can you send stripped
sample?

Sunny


In article <#dADqTlXEHA.1000@TK2MSFTNGP12.phx.gbl>, User@-NOSPAM-
DotNetJunkies.com says...
[quoted text, click to view]
AddThis Social Bookmark Button