Что случилось с «хорошими» сгенерированными именами классов в .NET для веб-сервисов? - PullRequest
1 голос
/ 06 декабря 2008

Я использую .NET 3.5 для вызова веб-службы FedEx.

В примере кода Fedex (VS2005) есть такие вещи:

AddressValidationService addressValidationService = new AddressValidationService();
AddressValidationReply reply = addressValidationService.addressValidation(request);

Это мило. Мне это нравится. Я вызываю метод в «Сервисе».

но в .NET 3.5 это генерируется из того же WSDL:

AddressValidationPortTypeClient addressValidationService = new AddressValidationPortTypeClient();
AddressValidationReply reply = addressValidationService.addressValidation(request);

Что это за «PortTypeClient» * # & $. Я вполне доволен прогрессом, но это кажется немного сумасшедшим. Я не знаю, что это значит.

Есть ли документация, которая сообщает мне, что изменилось и почему?

1 Ответ

1 голос
/ 06 декабря 2008

Какой инструмент вы используете? wsdl.exe ? или svcutil.exe ? Если вы добавляете «сервисную ссылку», то это WCF, поэтому используется svcutil.exe - это именует вещи как клиенты. Однако есть возможность использовать старую утилиту wsdl.exe. В IDE вы делаете это через «Advanced ...» -> «Add Web Reference ...» - это сгенерирует прокси службы стиля 2.0.

Re имена; WCF верен - прокси-класс - это клиент, а не сервис.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...