[Mono-list] .net remoting problem with object sending
Axel Westerhold
ml.awesterhold at dts.de
Wed Feb 28 02:08:53 EST 2007
Hi there,
Don't get me wrong. You can use a binary formater AND an HTTP channel.
Like this
Server
HttpChannel hc;
BinaryServerFormatterSinkProvider sbf = new
BinaryServerFormatterSinkProvider();
BinaryClientFormatterSinkProvider cbf = new
BinaryClientFormatterSinkProvider();
IDictionary properties = new Hashtable();
properties["port"] = port;
if( !fqdn.Equals("") ){
properties["machineName"] = fqdn;
}
else{
Helper.ErrorLog("ManageMail DB Provider using IP as no fqdn found");
}
hc=new HttpChannel(properties,cbf,sbf);
ChannelServices.RegisterChannel(hc,false);
RemotingConfiguration.ApplicationName="DBAbstract";
RemotingConfiguration.RegisterActivatedServiceType(typeof(DBAbstract));
Client
try{
BinaryServerFormatterSinkProvider sbf = new
BinaryServerFormatterSinkProvider();
BinaryClientFormatterSinkProvider cbf = new
BinaryClientFormatterSinkProvider();
IDictionary properties = new Hashtable();
properties["name"] = "ManageMail LogViewer";
ChannelServices.RegisterChannel(new HttpChannel(properties,cbf,sbf),false);
RemotingConfiguration.RegisterActivatedClientType(typeof(DBAbstract),dbInfo.
GetRemotingString());
}
catch{
Application.Exit();
return;
}
Regards,
Axel
Am 28.02.2007 7:52 Uhr schrieb "Mirek Binas" unter
<Miroslav.Binas at cnl.tuke.sk>:
> hello
>
> yes - i am using the http channel for remoting. the problematic object
> consists of four attributes, and all of them are initialized. hmm... i'll try
> to play a bit, if this is the problem.
>
> and - i was trying to use tcp channel for this purpose, but at the very first
> begging with problems, so because of this i switched to http. but - i'll try
> it again, if this should be the problem.
>
> mirek
> On Wed, Feb 28, 2007 at 07:40:03AM +0100, Axel Westerhold wrote:
>>
>> Hi there,
>>
>> I am a little guessing here but it sounds as if you would using XML/SOAP/WEB
>> kind of remoting. In this case make sure each and every variable in your
>> object/class/struct is defined and initialized.
>>
>> You can also switch to a binary formater which will solve this issue too but
>> will break access through proxy.
>>
>> Regards,
>> Axel
>>
>> Am 28.02.2007 4:40 Uhr schrieb "Mirek Binas" unter
>> <Miroslav.Binas at cnl.tuke.sk>:
>>
>>> hello
>>>
>>> i am trying to develop application with .net remoting for communication. at
>>> the moment - everything is well, but when i want to send object, that is not
>>> one of the default types, the exception raised:
>>>
>>> Unhandled Exception: System.NullReferenceException: Object reference not set
>>> to an instance of an object
>>>
>>> the object is not null (checked line before call of the remote method). and
>>> in
>>> the declaration of the class it is marked as [Serializable]. don't know,
>>> what
>>> is the problem about. any idea?
>>>
>>> mirek
>>>
>>> p.s.: the complete exception
>>>
>>> Unhandled Exception: System.NullReferenceException: Object reference not set
>>> to an instance of an object
>>>
>>> Server stack trace:
>>> at System.Runtime.Remoting.Channels.SimpleBinder.BindToType (System.String
>>> assemblyName, System.String typeName) [0x00000]
>>> at System.Runtime.Serialization.Formatters.Soap.SoapTypeMapper.GetType
>>> (System.String xmlName, System.String xmlNamespace) [0x00000]
>>> at System.Runtime.Serialization.Formatters.Soap.SoapReader.Deserialize ()
>>> [0x00000]
>>> at System.Runtime.Serialization.Formatters.Soap.SoapReader.Deserialize
>>> (System.IO.Stream inStream, ISoapMessage soapMessage) [0x00000]
>>> at System.Runtime.Serialization.Formatters.Soap.SoapFormatter.Deserialize
>>> (System.IO.Stream serializationStream,
>>> System.Runtime.Remoting.Messaging.HeaderHandler handler) [0x00000]
>>> at System.Runtime.Serialization.Formatters.Soap.SoapFormatter.Deserialize
>>> (System.IO.Stream serializationStream) [0x00000]
>>> at System.Runtime.Remoting.Channels.SoapServerFormatterSink.ProcessMessage
>>> (IServerChannelSinkStack sinkStack, IMessage requestMsg, ITransportHeaders
>>> requestHeaders, System.IO.Stream requestStream, IMessage& responseMsg,
>>> ITransportHeaders& responseHeaders, System.IO.Stream& responseStream)
>>> [0x00000]
>>>
>>> Exception rethrown at [0]:
>>>
>>> at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke
>>> (System.Runtime.Remoting.Proxies.RealProxy rp, IMessage msg,
>>> System.Exception&
>>> exc, System.Object[]& out_args) [0x00000]
>>
>>
>> _______________________________________________
>> Mono-list maillist - Mono-list at lists.ximian.com
>> http://lists.ximian.com/mailman/listinfo/mono-list
More information about the Mono-list
mailing list