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

Reply via email to