Прокси-классы C #, wsdl, как это использовать?

#c# #service #proxy #wsdl

#c# #Обслуживание #прокси #wsdl

Вопрос:

У меня есть файлы wsdl и xsd, и с wsdl.exe утилита я создаю прокси-классы, но в проекте у меня нет никакой ссылки на службу, как можно использовать ее с c #?

Ответ №1:

wsdl.exe сгенерирует .cs файл, содержащий прокси-классы. Вам нужно скопировать и включить этот файл в свой проект (добавить существующий файл …).

И если вы хотите использовать клиент WCF, вы должны использовать svcutil.exe чтобы сгенерировать ваш клиентский прокси, нет wsdl.exe . Диалоговое окно добавления ссылки на службу в Visual Studio внутренне использует svcutil.exe . Диалоговое окно добавления веб-ссылки использует wsdl.exe .

Комментарии:

1. Да, я это делаю, значит? AuthenticationWSBinding d=new AuthenticationWSBinding(); d.authenticate(); Но это не работает, у меня нет никакой ссылки на службу, конфигурации, конечной точки…

2. @ArmenKhachatryan, затем вы создаете экземпляр клиентского прокси-класса, содержащегося в этом файле, и вызываете методы. wsdl.exe не использует никаких конечных точек и привязок. Это WCF. Если вы хотите использовать клиент WCF, вам необходимо использовать svcutil.exe чтобы сгенерировать ваш клиентский прокси-сервер, а не wsdl.exe . Я обновил свой ответ, чтобы сделать это более понятным.

3. svcutil.exe генерирует конечные точки и привязки? я хочу иметь файл конфигурации сервиса! потому что тогда мне нужно добавить информацию о сертификате.

4. В Visual Studio я не могу добавить ссылку на службу и ссылку на веб-службу, в обоих случаях возвращается ошибка, есть ли какой-либо другой способ создания файла connfig? с помощью wdsl или svcutil?

5. @ArmenKhachatryan, svcutil.exe также генерируется файл app.config, содержащий конфигурацию конечной точки службы WCF.

Ответ №2:

Если вы хотите использовать веб-сервис, используйте wsdl.exe для создания прокси-класса, и после добавления этого класса в свой проект вы можете использовать сервис и их методы. И если у вас есть служба wcf, которую вы хотите использовать, вам придется использовать svcutil.exe для создания прокси-класса. вам не нужно создавать метаданные (wsdl, xsd и т.д.) сервиса.