Pergunta

Nós implementamos um código de cliente SOAP em nosso site ASP.NET que as chamadas de um serviço remoto. Implementação foi basicamente feito usando o Visual Studio "Add Web Reference" assistente, acrescentando bom 'usando remote.service.namespace' para o código e chamar o serviço.

Código funciona perfeito localmente (a partir do Visual Studio), mas falha no servidor web de produção com falta de erro de referência de montagem:

CS0246: O tipo ou nome do namespace 'remote.service' não pôde ser encontrado (? Você está faltando um usando diretiva ou uma referência assembly)

Eu tenho uma suspeita sorrateira que não estou implantando tudo corretamente, talvez alguém pode apontar o que é que eu estou em falta lá?

Obrigado!

Informações adicionais:

Project é um Web site.

ASP.NET versão 2.0 instalado e utilizado como um alvo em ambos servidor caixa de dev e produção.

arquivo Proxy gerado pelo WSDL.exe é implantado para a pasta raiz do site, mesma pasta onde reside a página. namespace global (padrão) foi usado para a geração de classe de proxy.

Foi útil?

Solução

Se este é um projeto de site, em seguida, o arquivo proxy deve residir dentro da App_Code pasta

Outras dicas

Você mencionou a dll proxy é colocado sobre "a pasta raiz do site web, onde a página reside".

Você deve colocar a dll dentro da pasta "bin". Se a pasta não está lá criá-lo.

A pilha de cliente de serviço da Web em .NET faz geração de tempo de execução do cliente proxy (a partir das anotações na classe gerada por wsdl.exe / svcutil.exe). este arquivo gerado normalmente acaba em um de seus diretórios de servidores temporários (há uma sob a algum lugar árvore principais janelas). O problema é que a conta de usuário ASP.NET não tem direitos para gravar este diretório temporário particular, mas não percebe no momento em que escreve o arquivo, assim que você acabar com um erro com ele tentar carregar o gerado arquivo de volta. Você pode acabar na situação de acordo com a ordem de instalação exato em seu servidor. Depois de encontrar o diretório certo você pode simplesmente corrigir os perms NTFS no diretório para resolver o problema.

Você copiar os App_WebReferences pasta e todo o seu conteúdo para o servidor?

Será que outras partes do seu local de trabalho ASP.NET?

Será que o seu alvo local 3.5 e possivelmente 3.5 não está instalado no servidor de produção?

É este um Web site, ou um projeto de aplicativo Web? Aposto que é um Web Site.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top