Я работаю над сервисом WCF SOAP и заметил кое-что странное.
У меня есть следующий код в контракте на обслуживание
[ServiceContract]
public interface IService
{
[OperationContract]
int MethodA(int a, int b);
[OperationContract]
string MethodB(int a, int b);
}
Я не собираюсь давать реализованноекласс обслуживания, потому что реализованные MethodA и MethodB тривиальны и могут делать что угодно.
Когда я выбрал «Добавить веб-ссылку» и создать ссылку на прокси в приложении ASP.NET, которое я использую для использования служб,Я заметил, что два метода имеют разные аргументы в своей сигнатуре.
Например:
Метод A имеет следующие параметры сигнатуры
MethodA(int a,bool aSpecified,int b,bool bSpecified)
, а у MethodB только следующая сигнатура
MethodB(int a,bool aSpecified,int b,bool bSpecified,out int MethodBResult,bool methodBResultSpecified)
Почему у них разные варианты подписей?
Мне нужно, чтобы подпись MethodB была такой же, как у MethodA.
Что мне нужно было бы предоставить для двух последних параметров?