none
How to change WCF service contract which does not effect client c# RRS feed

  • Question

  • i am new but reading some article on wcf i came to know that if you change the ServcieContrcat then you have to change not only the Service end but Clients end too and it's really difficult to manage.

    Example 1:

    Developer have to create WCF service for Order processing, with following function: GetOrderById, GetOrdersByStatus, SaveOrder

    The ServiceContract could looks like following

    [ServiceContract]
    public interface IOrderService
    {
        [OperationContract]
        Order GetOrderById(int orderId);
    
        [OperationContract]
        List<Order> GetOrdersByStatus(OrderStatus orderStatus);
    
        [OperationContract]
        void SaveOrder(Order order)
    } 

    after month, for example, project manager say: Ok, our customers need another functions: DeleteOrderById, GetOrdersByCustomerId and don't need GetOrdersByStatus any more, we need GetOrdersByStatusAndCustomerId

    Developers have to update ServiceContrcat and update client. As you can see, any changes in the ServiceContrcat is really difficult

    so i am looking for best guidance how to develop wcf service which will not create any problem if we extend the functionality or any kind of change but client end will not face any problem. thanks

    Thursday, January 23, 2014 11:10 AM

All replies