2008-12-09 27 views
8

У меня есть проект, который использует библиотеку классов для функциональности бизнес-уровня (доступ к базе данных и т. Д.). Наверху находится веб-приложение. У меня есть веб-служба, которую я хотел бы вызвать в библиотеке классов. Каждый раз, когда я добавляю «справочную службу» (я использую VS2008) в библиотеку классов, все работает нормально. Имя веб-службы - «EmployeeService». Однако, когда я пытаюсь получить доступ из кода, IntelliSense дает мне варианты, как:Употребление веб-ссылки в библиотеке классов (C# /. NET)

'EmployeeServiceSoap'

'EmployeeServiceSoapChannel'

'EmployeeServiceSoapClient'

и много »... Запрос '

' ... RequestBody '

' ... типа RequestResponse».

Я не могу получить доступ к моему классу EmployeeService, даже если я его напишу в любом случае, компилятор будет жаловаться. Есть идеи? Спасибо за любую помощь ...

ответ

5

Вы должны использовать EmployeeServiceSoapClient для доступа к сервису. Сам класс службы находится на сервере.

6

Действительно? Я попробую это. Возможно, это изменилось с помощью VS2008/.NET 3.5? Я знаю, что в прошлом это было не так.

EDIT: Я, наконец, понял это. Я добавлял ссылку в качестве «ссылки на службу», а не «веб-ссылку». Я предполагаю, что ссылка на службу является новой в .NET 3.5, и это немного отличается от классической веб-ссылки. VS2008 не дал мне возможность добавить веб-ссылку. Мне пришлось перейти к расширенным свойствам ссылки на службу и вместо этого добавить веб-ссылку. Как только я это сделал, он дает мне два варианта (один для добавления ссылки на службу, другой для добавления веб-ссылки), идите в цифру.

+0

Спасибо. Решила мою проблему - должна быть отмечена как ответ :) – Ripside 2013-06-07 16:47:26