Consumir uma referência da web em uma biblioteca de classe (C # /. NET)

votos
8

Eu tenho um projeto que usa uma biblioteca de classes para a funcionalidade de camada de negócios (acesso à base de dados, etc.). A aplicação web se senta em cima deste. Eu tenho um serviço web que eu gostaria de chamar a biblioteca de classes. Toda vez que eu adicionar uma 'referência de serviço' (estou usando VS2008) para a biblioteca de classes, tudo parece funcionar OK. O nome do serviço web é 'EmployeeService'. No entanto, quando tento acessá-lo a partir do código, intellisense me dá opções como:

'EmployeeServiceSoap'

'EmployeeServiceSoapChannel'

'EmployeeServiceSoapClient'

e muita '... Request'

'... RequestBody'

'... requestResponse' tipos.

Eu não posso acessar minha classe EmployeeService mesmo se eu escrevê-lo de qualquer maneira o compilador vai reclamar. Alguma ideia? Obrigado por qualquer ajuda...

Publicado 09/12/2008 em 22:55
fonte usuário
Em outras línguas...                            


2 respostas

votos
6

Mesmo? Vou tentar isso. Isso deve ter mudado com VS2008 / .NET 3.5 certo? Eu sei que não era assim no passado.

EDIT: eu finalmente descobri-lo. Eu estava adicionando a referência como uma 'referência de serviço' e não uma 'referência web'. Eu acho referência de serviço é nova no .NET 3.5 e uma pequena diferença a partir de uma referência web clássica. VS2008 não me deu uma opção para adicionar uma referência da web. Eu tive que ir para as propriedades avançadas da referência de serviço e adicionar uma referência da web em seu lugar. Uma vez eu fiz isso, ele me dá duas opções (uma para adicionar uma referência de serviço, outra para adicionar uma referência da web), vai entender.

Respondeu 09/12/2008 em 23:09
fonte usuário

votos
5

Você deveria usar o EmployeeServiceSoapClientpara acessar o serviço. A classe de serviço em si fica no servidor.

Respondeu 09/12/2008 em 23:07
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more