.NET Framework Bookmark and Share   
 index > .NET Remoting and Runtime Serialization > Can .NET Remoting Help?
 

Can .NET Remoting Help?

Birectional (Client <--> Server)+ Stateful + Supporting Client Machine that only has .NET 2.0

I think I can't use WCF for the above requirements.

Does.NET Remoting support theserequirements?

Dynamic
Yes it can.

You'll have to use a SAO-singleton if you want to maintain state (client-to-server communication).
You'll alsohave to use a CAO for server-to-client communication.
You should not use events, they are concidered bad practice in a remoting scenario.

WCF is not available in .NET 2.0
  • Marked As Answer byDynamic Thursday, September 17, 2009 8:44 AM
  •  
Stefan_A
Hello,

Ok, I'll tell you what I know:

When concidering a distributed application, you first have to choose which technique you're going to use.
In .NET 2.0, you have 3 options: web services, .NET remoting and Serviced Components.
- Web services
Choose for web services if either one of the clients is not a .NET application, orif communication occurs over the internet.
- .NET remoting
Choose for .NET remoting if performance is the main issue. When using .NET remoting you are restricted to using it over a LAN or on the same computer.
Also, .NET remoting has been superseded by WCF, so if you have any possibility to upgrade the machines to .NET 3.5, that would probably be a better solution.
- Serviced components
Choose for Serviced components if you require very specific functionalities such as object pooling, just-in-time activation, distributed transactions/ CRM etc...

If you have chosen for a .NET remoting scenario, then you have 4 ways of hosting the service.
- Console application
Usually OK if you're still in development stage. Requires a user logged in.
- Windows forms application
Provides a more flexible GUI than a console app, but still requires a user logged in.
- Windows service
Does not require a user to be logged in.
Can be used in an intranet if security is low.
- ASP.NET
Hosted by IIS, also does not require a user to be logged in.
Provides web application security for your application.
This is usually the solution if applications communicate over intranet (with secure routers between service and clients)

If you require more info, I suggest you search the MSDN or some blogs, becausethe concepts arefar tooextensive to discuss here.
I hope this helps,

Kind Regards
Stefan Adriaenssen
  • Marked As Answer byDynamic Thursday, September 17, 2009 8:44 AM
  •  
Stefan_A
Excellent!

My conclusion is for my scenario:

Bidirectional (Client <--> Server)+ Stateful + .NET 2.0 Client App + Intranet not Internet

The best (if not the only) option is:.NET Remoting + Windows Services to support:

If I could persude the big bosses to upgrade the clientPCsto .NET 3.5, my option would be: WCF (wsDualHttpBinding: Duplex Messaging)+ Windows Service.
  • Marked As Answer byDynamic Thursday, September 17, 2009 8:44 AM
  •  
Dynamic
Yes it can.

You'll have to use a SAO-singleton if you want to maintain state (client-to-server communication).
You'll alsohave to use a CAO for server-to-client communication.
You should not use events, they are concidered bad practice in a remoting scenario.

WCF is not available in .NET 2.0
  • Marked As Answer byDynamic Thursday, September 17, 2009 8:44 AM
  •  
Stefan_A
Thanks Stefan.

WCF is available for a .NET 2.0 client when it provides a basicHttpBinding but this binding doesn't support bidirectional communication. It provides stateful communication via enablingSession.
Dynamic
Have you worked with Socket Programming? I am not clear about its relationship with .NET Remoting if there is any.
Dynamic

No sorry I don't have any knowledge about socket programming.
Nor do I know anything about WCF in .NET 2.0. As far as I know, it was introduced in .NET 3.0
I'm used to writing .NET remoting classes hosted in a Windows service, so no Sessions apply either.

Stefan_A
Thanks Stefan,

I think for my new application finally I have to choose .NET Remoting and hosting it in a Windows Service as you mentioned.

Do you know what are the hosting solutions for a .NET Remoting Client/Server?
Dynamic
Hello,

Ok, I'll tell you what I know:

When concidering a distributed application, you first have to choose which technique you're going to use.
In .NET 2.0, you have 3 options: web services, .NET remoting and Serviced Components.
- Web services
Choose for web services if either one of the clients is not a .NET application, orif communication occurs over the internet.
- .NET remoting
Choose for .NET remoting if performance is the main issue. When using .NET remoting you are restricted to using it over a LAN or on the same computer.
Also, .NET remoting has been superseded by WCF, so if you have any possibility to upgrade the machines to .NET 3.5, that would probably be a better solution.
- Serviced components
Choose for Serviced components if you require very specific functionalities such as object pooling, just-in-time activation, distributed transactions/ CRM etc...

If you have chosen for a .NET remoting scenario, then you have 4 ways of hosting the service.
- Console application
Usually OK if you're still in development stage. Requires a user logged in.
- Windows forms application
Provides a more flexible GUI than a console app, but still requires a user logged in.
- Windows service
Does not require a user to be logged in.
Can be used in an intranet if security is low.
- ASP.NET
Hosted by IIS, also does not require a user to be logged in.
Provides web application security for your application.
This is usually the solution if applications communicate over intranet (with secure routers between service and clients)

If you require more info, I suggest you search the MSDN or some blogs, becausethe concepts arefar tooextensive to discuss here.
I hope this helps,

Kind Regards
Stefan Adriaenssen
  • Marked As Answer byDynamic Thursday, September 17, 2009 8:44 AM
  •  
Stefan_A
Excellent!

My conclusion is for my scenario:

Bidirectional (Client <--> Server)+ Stateful + .NET 2.0 Client App + Intranet not Internet

The best (if not the only) option is:.NET Remoting + Windows Services to support:

If I could persude the big bosses to upgrade the clientPCsto .NET 3.5, my option would be: WCF (wsDualHttpBinding: Duplex Messaging)+ Windows Service.
  • Marked As Answer byDynamic Thursday, September 17, 2009 8:44 AM
  •  
Dynamic

You can use google to search for other answers

Custom Search

More Threads

• TCP error code 10061: No connection could be made because the target machine actively refused it
• Memory consumption of objects on server not reducing
• strategy for starting a new process and invoke a remote method in the new process?
• Send files to another computer
• Persistent storage and strong names
• Problem in Remoting Performance.
• Has serialisation behaviour changed in VS2005/.NET 2.0
• Remoting:localhost works but 'across the wire' doesn't.
• How to use Microsoft Official Curriculum?
• Regarding Marshalling in C#