Задание реализовать перегруженный метод.
Пишем как обычно
[WebMethod]
public void method (int a, int b)
{}
[WebMethod]
public void method(int a)
{}
Запускаем дебаг, и получаем ошибку
Both System.Data.DataTable GetDictionary(System.String) and System.Data.DataTable GetDictionary(System.String, System.String) use the message name 'GetDictionary'. Use the MessageName property of the WebMethod custom attribute to specify unique message names for the methods.
Причину ошибки можно понять открыв http://<адрес вашего сервиса>/service1.asmx?WSDL.
У сообщений(message) которые посылает сервис одинаковое имя.
Что бы исправить ошибку нужно добавить атрибуты:
[WebMethod(MessageName = "method2args",Description = "method with 2 args",EnableSession = true)]
public void method (int a, int b)
{}
[WebMethod(MessageName = "method1arg",Description = "method with 1 arg",EnableSession = true)]
public void method(int a)
{}
Если ваш сервис использует .net 2.0 и выше то вы все равно получите ошибку:
Service '<name of service>' does not conform to WS-I Basic Profile v1.1. Please examine each of the normative statement violations below.
Нужно поправить еще 1 атрибут:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.None)]
Я хочу поделиться свидетельством о том, как г-н Бенджамин помог мне с займом в 2 000 000,00 долларов США для финансирования моего проекта фермы по выращиванию марихуаны, я очень благодарен и пообещал поделиться этой законной финансирующей компанией с любым, кто ищет способ расширить свой бизнес-проект. .финансирующая компания. Любой, кто ищет финансовую поддержку, должен связаться с ними по адресу lfdsloans@outlook.com. Г-н Бенджамин также работает в WhatsApp + 1-989-394-3740, чтобы облегчить задачу любому заявителю.
ReplyDelete