difference between .NET remoting and shared/private assembly?
-
Just want to have a clear understanding of the following (related) issues: 1. Private/Shared Assembly allows us to have some sort of "binary reuse": for instance, you can create a assembly (either private or shared) which contains some "utility" types, then in another application, you can add a reference to the above assembly and make use of the types in it. Yet you can create another different application still use this same assembly ... we may call these different applications clients, and the utility assembly server. 2. .NET remoting: this architecture allows us to invoke a method on a remote object, again, the remote object can be considered as server, the application who invokes the methods can be view as client. 3. classic COM/DCOM: you can build COM server which has the coclasses, you can also have a client that consume the functions of those coclasses. at run time, the COM runtime (quite like the CLR) will load the COM server so the COM client can have someone to talk to. So, what exactly is the difference among these three??? for example, the private/shared assembly as a server, it in fact lives in the same AppDomain with its client, but in the .NET remoting model, the client and server are for sure not in the same AppDomain, so this model is about crossing the AppDomain boundaries. can someone summarize more differences?
-
Just want to have a clear understanding of the following (related) issues: 1. Private/Shared Assembly allows us to have some sort of "binary reuse": for instance, you can create a assembly (either private or shared) which contains some "utility" types, then in another application, you can add a reference to the above assembly and make use of the types in it. Yet you can create another different application still use this same assembly ... we may call these different applications clients, and the utility assembly server. 2. .NET remoting: this architecture allows us to invoke a method on a remote object, again, the remote object can be considered as server, the application who invokes the methods can be view as client. 3. classic COM/DCOM: you can build COM server which has the coclasses, you can also have a client that consume the functions of those coclasses. at run time, the COM runtime (quite like the CLR) will load the COM server so the COM client can have someone to talk to. So, what exactly is the difference among these three??? for example, the private/shared assembly as a server, it in fact lives in the same AppDomain with its client, but in the .NET remoting model, the client and server are for sure not in the same AppDomain, so this model is about crossing the AppDomain boundaries. can someone summarize more differences?
For the .NET Remoting, you can also call into a different machine like with DCOM, but it could also be to the same box too. With .NET Remoting you can specify if you want the communication to use TCP or HTTP, and either binary or SOAP encoding. SOAP encoding is text based so it can slow things down, but can be easier to trace at times. Steve Maier, MCSD MCAD
-
For the .NET Remoting, you can also call into a different machine like with DCOM, but it could also be to the same box too. With .NET Remoting you can specify if you want the communication to use TCP or HTTP, and either binary or SOAP encoding. SOAP encoding is text based so it can slow things down, but can be easier to trace at times. Steve Maier, MCSD MCAD
thanks steve, good point. basically, the .NET remoting allows you to customize the whole underlying architecture if you so choose. by the way, I also notice that you have the MCSD and MCAD certs. congratulations!! would you mind telling me which 3 exams you took for the MCAD cert? thanks!
-
thanks steve, good point. basically, the .NET remoting allows you to customize the whole underlying architecture if you so choose. by the way, I also notice that you have the MCSD and MCAD certs. congratulations!! would you mind telling me which 3 exams you took for the MCAD cert? thanks!
I have taken : 70-320 XML Web Services with C# 70-315 Web Applications with C# 70-300 Analyzing Requirements and Defining Microsoft .NET Solution Arch. 70-316 Windows®-based Applications with C# Just an elective to go to finish my MCSD.NET. Steve Maier, MCSD MCAD