Basically, .NET remoting is a new sort of RPC infrastructure. It allows you to talk to objects across the network. The best part about remoting is that with binary serialization you can send almost any type of object over the network, even your custom objects. The infrastructure is built-in and you essentially "get it for free" with the .net framework.
i think it is time to read in Indigo . it is the new architecture for interoperability . if you dont know anything about Remoting , my advice is to go directly now to Indigo . of course it would help alot if you know some info about Remoting first .
I back this 100%. If possible, work with Indigo. Remoting lacks support for secure conversations, authentication, authorization, and a number of other things that come with Indigo out of the box. Indigo, also, is NOT JUST web services. For Indigo-to-Indigo communications, it is going to be a highly optimized experience (much like remoting, but so much better).
While I agree with Hussein and Nicholas, I would still recommend you read the blog of Matt Tavis where he has some recommendations regarding the usage of .NET Remoting.
It should also be noted that remoting is not going to be enhanced beyond 2.0, and that EnterpriseServices has been noted as being the easiest in terms of upgrading to Indigo. For all intents and purposes, Remoting is now a dead end.
thanks alot Nicholas . and completing your words ,
you can reaad about indigo from Yasser Shohoud , he is now a test engineer in the indigo Team . and Vibhavari can watch this .NET Show Episode as a start.
I find sockets much more convenient to use than remoting. no need to configure so much, no need to open ports on client for callbacks and with a little effort you get same functionality. this also may be because i don't know enough about remoting, but as i understand it's only a rpc mechanism and supports serializing objects through network what can also be easily accomplished serializing objects into and from NetworkStream. am i missing something thanks.
did you just say an array of strings is not serializable That would mean that strings are not serializable, and if strings were not serializble we would all be screwed. I have sent arrays of strings across a remoting boundry before, so I am a little confused by your above statement Perhaps the buitl in StringCollection class is not serializable Maybe it was your own custom collection class
Some clarification on this statement would be helpful. Thanks
You can't quite send anything over the network, only objects that are flagged as serializable. For instance a DataSet is marked as serializable but a string array isn't, so you send send datasets but not string arrays
While I agree with Hussein and Nicholas, I would still recommend you read the blog of Matt Tavis where he has some recommendations regarding the usage of .NET Remoting.
i think it is time to read in Indigo . it is the new architecture for interoperability . if you dont know anything about Remoting , my advice is to go directly now to Indigo . of course it would help alot if you know some info about Remoting first .
Remoting offers a near complete wrap around the networking with support for multiple protocols and formats (soap over HTTP or its native binary format, or any coded formats).
Whilst you can get away with it you'll need to write a lot of extra code to achieve remoting style functionality from sockets!
For example, if you throw an event on a singleton that the client application has hooked it will simply run the appropriate method. To do this in a client application without remoting you would need to define your own protocol and parse data to and from the server, tell the server to reflect over its objects and subscribe to the event itself, then in the method subscribing to the event it needs to send data over the network interface whilst making sure it's up, then the client needs to read this data, check what it was listening for, then run the appropriate method on the appropriate object. Repeat in the opposite direction for running a method on the server.
What is remoting?
Elroy
custom objects. The infrastructure is built-in and you essentially "get it for free" with the .net framework.
soch
and completing your words ,
you can reaad about indigo from Yasser Shohoud , he is now a test engineer in the indigo Team . and you can watch this .NET Show Episode as a start.
Regards ,
Hussein Ahmad
http://HusseindotNET.BlogSpot.com
Crimson_Blah
I back this 100%. If possible, work with Indigo. Remoting lacks support for secure conversations, authentication, authorization, and a number of other things that come with Indigo out of the box. Indigo, also, is NOT JUST web services. For Indigo-to-Indigo communications, it is going to be a highly optimized experience (much like remoting, but so much better).
- Nicholas Paldino [.NET/C# MVP]
- mvp@spam.guard.caspershouse.com
Madjoo
http://www.developer.com/net/cplus/article.php/1479761
http://msdn.microsoft.com/library/default.asp url=/library/en-us/dndotnet/html/hawkremoting.asp
http://msdn.microsoft.com/library/default.asp url=/library/en-us/cpguide/html/cpconnetremotingoverview.asp
http://www.csharphelp.com/archives/archive157.html
http://www.dotnetextreme.com/articles/netremoting.asp
http://www.amazon.com/exec/obidos/ASIN/0735617783/102-4505504-4669745
http://www.microsoft.com/MSPress/books/6172.asp
MA Inayat
It should also be noted that remoting is not going to be enhanced beyond 2.0, and that EnterpriseServices has been noted as being the easiest in terms of upgrading to Indigo. For all intents and purposes, Remoting is now a dead end.
- Nicholas Paldino [.NET/C# MVP]
- mvp@spam.guard.caspershouse.com
chalna
and completing your words ,
you can reaad about indigo from Yasser Shohoud , he is now a test engineer in the indigo Team . and Vibhavari can watch this .NET Show Episode as a start.
Regards ,
Hussein Ahmad
http://HusseindotNET.BlogSpot.com
clehnert
Certain classes in System.Collections are not serializable, but arrays are serializable as long as the type of array is serializable.
So,
string[]
would be serializable, but
MyObjectThatDoesntImplementISerializable[]
Would not be serializable.
Biche
figuerres
did you just say an array of strings is not serializable That would mean that strings are not serializable, and if strings were not serializble we would all be screwed. I have sent arrays of strings across a remoting boundry before, so I am a little confused by your above statement Perhaps the buitl in StringCollection class is not serializable Maybe it was your own custom collection class
Some clarification on this statement would be helpful. Thanks
Phillip Marino
CodeTool
While I agree with Hussein and Nicholas, I would still recommend you read the blog of Matt Tavis where he has some recommendations regarding the usage of .NET Remoting.
http://blogs.msdn.com/mattavis/default.aspx
Regards,
Vikram
http://dotnetupdate.blogspot.com/
jhance_MS
if you dont know anything about Remoting , my advice is to go directly now to Indigo . of course it would help alot if you know some info about Remoting first .
Kind regards ,
Hussein Ahmad
http://HusseindotNET.BlogSpot.com
Fulano
jkiley
Whilst you can get away with it you'll need to write a lot of extra code to achieve remoting style functionality from sockets!
For example, if you throw an event on a singleton that the client application has hooked it will simply run the appropriate method. To do this in a client application without remoting you would need to define your own protocol and parse data to and from the server, tell the server to reflect over its objects and subscribe to the event itself, then in the method subscribing to the event it needs to send data over the network interface whilst making sure it's up, then the client needs to read this data, check what it was listening for, then run the appropriate method on the appropriate object. Repeat in the opposite direction for running a method on the server.