tags:

views:

265

answers:

4

Hello,

Im currently looking into WCF as an upgrade option and need to consider everything this may intail in terms of a .Net 2.0 development and setup.

things that come to mind

  • .Net 3.0 to be installed (does 3.5 project act any differently)
  • what would the effects be on our app servers (which use asmx files to publish services)
  • are there any niggles/gotya's with WCF (common things to look out for)

what issues did you consider when you upgraded?

Currently I am looking at

For Code and Design

Many thanks in advance

===== UPDATE ========

Many thanks to everyone whom has replied sofar, I still am welcoming more input. are there any gotcha's?

I have also started to consider the following

  • Version of .NET -WCF requires .NET 3.0 minimum, however 3.5 contains a number of improvements whats new in .NET 3.5
  • WCF Hosting - WCF Hosting
  • Will it have any impact on our existing applications - one of the dimecast videos had some info plus many thanks to Mehmet Aras for the heads up
  • Considered Training material - I have included some of the books which have been mentioned on the budget but i also found this (which may be helpful) Patterns in Action

=========== UPDATE 2 =============

S#arp Architecture (found here) has been uptated with WCF, I thought i would mention this as I find example useages easier to understand.

+2  A: 

I thoroughly recommend the IDesign stuff for WCF. Not just their standards, but also the ServiceModelEx project with its helper classes.

Services are published in IIS (or WAS if you're lucky enough to be on 2008) as .svc files not .asmx files, so there may be a change to the modelling there. But with appropriate bindings, clients can still connect to them in much the same way. Would recommend getting a good reference book - I find myself dipping in from time to time. Essential Windows Communication Foundation is useful but not overly friendly; Programming WCF Services (by one of the IDesign guys) looks better IMHO.

Otherwise, there are no real issues. .NET 3.0 is not a fundamental change on 2.0, rather an additional set of libraries. I'd recommend 3.5 for WCF, for which the same comment basically holds true.

David M
+3  A: 

I suggest you buy the fish book, "Programming WCF" by Juval Lowy. It is a fairly in depth book. WCF is highly configurable and has different philosophy, the whole ABC concept of Address, Binding and Contract. Also try to understand the security options in WCF as it can get complex depending on scenario. Another blog I would suggest is http://www.dasblonde.net/

Pratik
+1  A: 

Upgrade to .NET 3.5 SP1 and Visual Studio 2008 SP1. There are enhancements to WCF from 3.0 to 3.5, Entity Framework is supported in .NET 3.5 SP1, and anyway, why not start off being up to date?

John Saunders
+2  A: 

Find out what versions of SOAP your existing clients are using. ASP.NET 2.0 asmx based web service handles both SOAP 1.1 and SOAP 1.2 messages by default unless you disable SOAP 1.2 support. So before you decide to migrate an asmx based web service to WCF, find out what version of SOAP messages are coming into your asmx web service from the clients. To continue to support both SOAP 1.1 and SOAP 1.2 in order not to break any existing clients, you will need to have two bindings: basicHttpBinding (SOAP 1.1) and a custom binding pretty much the same as basicHttpBinding but the message version is specified as SOAP 1.2. Read Anticipating Adopting the Windows Communication Foundation article on msdn. You can capture http traffic coming from your clients with a network analyzer like WireShark and analyze the http headers. To test your new WCF based service, you can play back those http request or construct similar ones.

You will also need to keep the asmx based url the same so that the transition to WCF is transparent to the clients and they can still access the service via the same url.

Note that If you have control over the existing client applications and planning to update them as well, the above points may not be valid.

Mehmet Aras