[Mono-list] .NET Remoting

nemesis35 michal_kohut at centrum.sk
Tue Jun 5 10:20:28 EDT 2007

Hi guys,

I'm developing a distributed application in C#, where I want to use .NET
Remoting, but there's problem with it.

Everything works fine when I call remote procedure with parameters of
standard types, like string, int, bool,... But if I want to send an own
object, I get the error: "Unhandled Exception:
System.NullReferenceException: Object 
reference not set to an instance of an object" I tried to use an HttpChannel
and also TcpChannel but the 
problem is somewhere else. 
I found an example that works when I use dll-s. 


HttpServerChannel httpchannel = new HttpServerChannel(8085);


ChannelServices.RegisterChannel( new HttpChannel() );

IRemoteObj obj = (IRemoteObj) Activator.GetObject(
//calling remote procedure
Node node = new Node("",12345);
Node nout = obj.TestMethod(node);				
Console.WriteLine("TestMethod completed. Returned ip: {0}", nout.ipAdd);


public class CRemoteObj : System.MarshalByRefObject, IRemoteObj
		public CRemoteObj()
			Console.WriteLine("CRemoteObj constructor invoked.");

			Console.WriteLine("CRemoteObj destructor invoked.");
		// definition of our method(s)
		public Node TestMethod(Node node)
			Console.WriteLine("CRemoteObj.TestMethod invoked.");
			Console.WriteLine("Ip Address = {0}, Port = {1}", node.ipAdd, node.po);
			Node nout = node;
			nout.ipAdd = "manager";
			return nout;
AND INTERFACE (includes my own object):


// custom object which we want to pass
	public class Node
		public string ipAdd;
		public int po;
		public Node()
	    public Node(string ipAddress, int port)
	    	ipAdd = ipAddress;
	    	po = port;
	// interface which contains declaration of our method(s)
	public interface IRemoteObj
		Node TestMethod(Node node);
That should work. But it doesn't, only when I make DLL files from Remote
Class (CRemoteObj.cs) and Interface (IRemoteObj.cs). And then I must include
these DLL files into my server and client. 

I believe that this can work without DLL but I don't how, so if anyone has
any idea, please help me. I will really appreciate it, I cannot go forward
because of this. I don't want to use DLL files.

Thanx for any help.
View this message in context: http://www.nabble.com/.NET-Remoting-tf3872082.html#a10970553
Sent from the Mono - General mailing list archive at Nabble.com.

More information about the Mono-list mailing list