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.