views:

275

answers:

3

What is needed to either support WCF on Win2k, or at least minimize the effort in supporting remote communication with Win2k servers via .Net?

Background:

A product I'm working on has a legacy .NET remoting implementation that has been largely replaced by the WCF for new development. The legacy implementation is used as a fall-back for communication with servers running older versions prior to our WCF implementation.

Sales has asked for Win2k support which leaves dev in somewhat of a pickle as .NET 3.0 (and therefore presumably WCF) is not supported on Win2k. We want to support Win2k with a minimum of extra development effort, but it seems that to support Win2k we must implement the interfaces twice; once for remoting with legacy servers and once for WCF.

+7  A: 

Windows 2000 will only run .Net 2.0 and earlier. WCF requires 3.0 or later. A lot of 3.x apps can be recompiled to target the 2.0 runtime, but if you're using any of the extensions (WCF, WF, WPF) you always need the full 3.x framework installed.

So no.

Additionally, extended support for Windows 2000, including security updates, ends in a little over 13 months. If someone wants to keep using Windows 2000 past that date, that's their own business. But the implications to you are from that date on you can't ever know for sure whether there's really a problem that you can actually resolve or if your customer's server was just infected with malware. Offering support in that scenario is difficult at best.

Joel Coehoorn
Time to upgrade to XP/Vista or WS2008!
Cheeso
That's certainly the stance I prefer, but sales seems to think there's a huge opportunity in supporting 2000.Also...I targeted a class-library for 3.5 and was able to call it from Win2k. My test did not reference 3.0 specific classes, but the results led me to believe that code can written to be resilient to such missing features. If anyone cares, I could provide my code.
devgeezer
Extended support ends 7/13/2010. Supporting windows 2000 beyond then would be... unwise. Currently, google brings up several options for making some 3.5 framework features available from 2.0. This normally involved obtaining the necessary shared source files from 3.5 and re-compiling them using 2.0. But I don't think you can do that for WCF either.
Joel Coehoorn
+5  A: 

The closest you'll get on W2K is WSE3 - this gives you MTOM (etc) over SOAP - but not the full WCF goodness.

You could design the service to be WCF at the server, but WSEx at the client? Not "free", but I'm assured by several WCF experts that it is very "doable" - WCF was designed to support standards, after all. You'll have to limit yourself to http-basic, but IMO that should be the default anyway.

Jimmy has an article on this here: Interoperability between WCF and WSE 3.0 (scroll down to "WSE 3.0 to WCF").

Marc Gravell
Thanks. I appreciate everyone's help on this. I'm not exactly certain what our approach will be, but Marc seems to have the best suggestion for at least attempting to support Win2k.
devgeezer
A: 

As others have said, you're not going to be able to run WCF on Windows 2000. However, you don't necessarily have to.

Frankly, it's not unreasonable to require your end users to install a Win2003 Server to deal only with your WCF Services. Your customers can leave their Windows 2000 infrastructure in place and simply run a Win2K3 server (or even Virtual Machine) that just runs the service. A Windows 2003 Web license is about $300 and it wouldn't require a huge machine to run, so it's relatively cost effective.

Mystere Man
I work for a multi-million dollar company with 6000+ customers who are all IT shops; not your ordinary end-user. A reportedly sizable segment of our customers are not willing to upgrade their legacy servers that are running 2000. It is this segment that my company wants to continue supporting. This conflicts with ongoing development that is embracing the benefits of WCF over our older remoting interface. So as much as I can appreciate everyone's concerted voice of "don't support 2000," it simply is not an option.
devgeezer
I think you misunderstand me. I'm not suggesting your clients upgrade their servers to Windows 2003. I'm suggesting they add an additional server that uses Windows 2003 to handle your service. Their existing infrastructure stays the same.
Mystere Man