What are the pros/cons to these 2 ways of defining parameters for a web service method

Posted by Antony Scott on Stack Overflow See other posts from Stack Overflow or by Antony Scott
Published on 2011-11-15T17:47:16Z Indexed on 2011/11/15 17:50 UTC
Read the original article Hit count: 218

Filed under:

I have an existing web service I need to expand, but it has not gone into production yet. So, I am free to change the contracts as I see fit. But I am not sure of the best way to define the methods.

I am leaning towards Method 2 for no other reason than I cannot think of good names to give the parameters classes!

Are there any major disadvantages to using Method 2 over Method 1?

Method 1

[DataContract(Namespace = Constants.ServiceNamespace)]
public class MyParameters
{
    [DataMember(Order = 1, IsRequired = true)]
    public int CompanyID { get; set; }

    [DataMember(Order = 2, IsRequired = true)]
    public string Filter { get; set; }
}

[ServiceContract(Namespace  = Constants.ServiceNamespace)]
public interface IMyService
{
    [OperationContract, FaultContract(MyServiceFault)]
    MyResult MyMethod(MyParameters params);
}

Method 2

public interface IMyService
{
    [OperationContract, FaultContract(MyServiceFault)]
    MyResult MyMethod(int companyID, string filter);        
}

© Stack Overflow or respective owner

Related posts about web-services