i think 3.0 is the same as 2.0 but with extras, workflow, wpf and a couple of others i forget the technology names. but if your're at 2.0, you're already at 3.0.
:-D -----Original Message----- From: Discussion of advanced .NET topics. [mailto:[EMAIL PROTECTED] Behalf Of Sébastien Lorion Sent: Wednesday, May 16, 2007 5:45 AM To: ADVANCED-DOTNET@DISCUSS.DEVELOP.COM Subject: Re: [ADVANCED-DOTNET] OT: Versionning of web services Thanks for the tip... I will see if I cannot prepare in some way the eventual transition to .NET 3.0. For the time being, the client will stick to .NET 2.0 thought. Sebastien On 5/15/07, Potter, Mark S. <[EMAIL PROTECTED]> wrote: > > The WCF (windows communication foundation) in VS Studio "orcas" (.Net 3.5) > has a new versioning concept for web services, breaking it into a service > contract and a data contract. They also have a new interface called > IDataExtender to handle data structure changes. You may want to take a look > at that. > > -----Original Message----- > From: Discussion of advanced .NET topics. [mailto: > [EMAIL PROTECTED] On Behalf Of Sébastien Lorion > Sent: Tuesday, May 15, 2007 5:20 PM > To: ADVANCED-DOTNET@DISCUSS.DEVELOP.COM > Subject: [ADVANCED-DOTNET] OT: Versionning of web services > > Kinda off-topic, but I would like to have some input on versionning issues > with web services. Below is what I propose ... I would be happy to have > your > comments on that. I know .. sounds like reinventing the wheel, but it > never > hurt to re/validate our practices. > > > Target namespace of the web service follows the template > http://webservices.mySystem.myCompany.com/version/ where version is 1.0, > 1.1, > 2.0, etc. That means there is only one web service project per system, > which > in turn contains many services (.asmx) with many methods. > > Each version is a different and independant project. It may happen that > 99% > of the new project is a copy of the previous version, but in that case, I > would seriously question the need of a new version. > > Each method takes a single parameter which is a structure and also return > a > structure, even if the structure has only one field. This is to allow > adding > parameters or results without breaking compatibility and/or having to > create > a new method. In the case of a new parameter, the method has to handle the > case where clients will not pass any value for that parameter. > > The target namespace of those structures will be in the form > http://webservices.mySystem.myCompany.com/version/method/ > > For example: > > [Serializable] > [XmlType([Namespace]:=" > http://webservices.humanResources.myCompany.com/1.0/searchEmployees/")] > public struct SearchEmployeesRequest > { > public string FirstName; > public string LastName; > public DateTime? HiringDate; > } > > [Serializable] > [XmlType([Namespace]:=" > http://webservices.humanResources.myCompany.com/1.0/searchEmployees/< > http://webservices.humanresources.mycompany.com/1.0/searchEmployees/> > ")] > public struct SearchEmployeesResponse > { > public EmployeeCollection Employees; > public bool TooManyResults; > } > > In cases where one or more recordsets are returned, a separate method must > be provided to get only the schema. > > public enum SearchEmployeesSchema > { > Employees > // ... could add more over time > } > > [WebMethod] > public XmlSchema GetSchemaSearchEmployees(SearchEmployeesSchema schema) > { > // ... > } > > Thanks ! > > -- > Sébastien > www.sebastienlorion.com > > =================================== > This list is hosted by DevelopMentor(r) http://www.develop.com > > View archives and manage your subscription(s) at > http://discuss.develop.com > -- Sébastien www.sebastienlorion.com =================================== This list is hosted by DevelopMentor� http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com