Przeciążanie metod

Języki programowania takie jak C++ oraz C# umożliwiają przeciążanie metod; innymi słowy, pozwalają na zdefiniowanie dwóch metod o takiej samej nazwie, ale różnych parametrach. Poniżej przedstawiono przykład poprawnej definicji interfejsu w języku C#:

interface ICalculator
{
   int Add(int arg1,int arg2);
   double Add(double arg1,double arg2);
}

Jednak w świecie metod opartych na WSDL przeciążanie jest niedopuszczalne — wszystkie metody muszą posiadać unikalne nazwy (ponieważ w wiadomościach identyfikowane są po nazwie). W rezultacie pomimo że poniższa definicja kontraktu zostanie skompilowana, w trakcie ładowania hosta usług zostanie rzucony wyjątek typu InvalidOperationException:

//Nieprawidłowa definicja kontraktu [ServiceContract] ...

Get Programowanie usług WCF now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.