[Mono-list] .net remoting problem with object sending
Axel Westerhold
ml.awesterhold at dts.de
Wed Feb 28 02:18:47 EST 2007
One more comment,
I used XML formating but hit a brickwall because while all my entities were
properly defiend and initialized some Framework components were not. As soon
as the XML Formater found a Null within a collection, object or class it
stopped working. Since I use the binary formater my problems are gone and it
seems to work very stable (loading 100.000,00 records in one run and loading
new records in 5 sec. Intervals für 12 hours. It behaves well in my threaded
eviroment and while the server runs on Linux the client is on windows.
Axel
Am 28.02.2007 8:08 Uhr schrieb "Axel Westerhold" unter
<ml.awesterhold at dts.de>:
> 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
>
>
> _______________________________________________
> 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