Partilhar via


Solucionando problemas de referências de serviço

Este tópico lista os problemas comuns que podem ocorrer quando você estiver trabalhando com Windows Communication Foundation (WCF) ou WCF Data Services referências em Visual Studio.

Erro ao retornar dados de um serviço

Ao retornar um DataSet ou DataTable de um serviço, você pode receber uma "cota de tamanho máximo de mensagens de entrada foi excedido" exceção. Por padrão, o MaxReceivedMessageSize para algumas vinculações for definida como um valor relativamente pequeno para limitar a exposição a ataques de negação de serviço. Você pode aumentar esse valor para evitar a exceção. For more information, see MaxReceivedMessageSize.

To fix this error:

  1. Em Solution Explorer, duas vezes no arquivo app. config para abri-lo.

  2. Localize o MaxReceivedMessageSize propriedade e alterá-lo para um valor maior.

Não é possível localizar um serviço na minha solução

Quando você clica no Discover botão no Adicionar referências de serviço caixa de diálogo, um ou mais projetos do WCF Service Library na solução não aparecem na lista de serviços. Isso pode ocorrer se uma biblioteca de serviços foi adicionada à solução, mas ainda não foi compilada.

To fix this error:

  • Em Solution Explorer, o projeto de biblioteca de serviços WCF com o botão direito e clique em Build.

Erro ao acessar um serviço através de uma área de trabalho remota

Quando um usuário acessa um serviço WCF hospedado na Web sobre uma conexão de área de trabalho remota e o usuário não tem permissões administrativas, a autenticação NTLM é usada. Se o usuário não tiver permissões administrativas, o usuário pode receber a seguinte mensagem de erro: "A solicitação HTTP é autorizada no esquema de autenticação de cliente 'Anônimo'. O cabeçalho de autenticação recebido do servidor foi 'ntlm' ".

To fix this error:

  1. No projeto de site, abra o Propriedades páginas.

  2. Sobre o Start Options guia, limpar o Autenticação NTLM caixa de seleção.

    ObservaçãoObservação

    Você deve desativar a autenticação NTLM apenas para sites que contêm exclusivamente os serviços WCF. Segurança para serviços WCF é gerenciada por meio da configuração no arquivo Web. config. Isso torna desnecessária a autenticação NTLM.

For more information, see Solucionando problemas de exceções: System.ServiceModel.Security.MessageSecurityException.

Nível de acesso para as Classes geradas configuração não tem efeito

Definindo a o nível de acesso para as classes geradas opção na Configurar referências de serviço caixa de diálogo para interno ou amigo talvez não funcionem sempre. Embora a opção parece estar definida na caixa de diálogo, as classes de suporte resultante serão geradas com um nível de acesso de Public.

Esta é uma limitação conhecida de certos tipos, tais como aqueles serializado usando o XmlSerializer.

Código de erro de serviço depuração

Quando você entrar no código para um serviço WCF do código de cliente, você pode receber um erro relacionado a ausência de símbolos. Isso pode ocorrer quando um serviço que fazia parte de sua solução foi movido ou removido da solução.

Quando você primeiro adiciona uma referência a um serviço WCF que é parte da solução atual, uma dependência de compilação explícita é adicionada entre o projeto de serviço e o projeto de cliente do serviço. Isso garante que o cliente sempre acessa binários do serviço atualizado, o que é especialmente importante para cenários como, por exemplo, a revisão do código de cliente em código de serviço de depuração.

Se o projeto de serviço é removido da solução, essa dependência de compilação explícita é invalidada. Visual Studio não pode mais garantir que o projeto de serviço reconstituído conforme necessário.

Para corrigir esse erro, você deve recriar manualmente o projeto de serviço:

  1. On the Tools menu, click Options.

  2. No Opções caixa de diálogo caixa, expanda projetos e soluçõese selecione Geral.

  3. Certifique-se de que o Show advanced configurações de compilação caixa de seleção está selecionada e clique em OK.

  4. Carregar o projeto de serviço do WCF. For more information, see Como: Criar soluções multi-projeto.

  5. No Configuration Manager caixa de diálogo, o conjunto de Active solution configuration para Depurar. For more information, see Como: Criar e editar configurações.

  6. Em Solution Explorer, selecione o projeto de serviço do WCF.

  7. Sobre o Build menu, clique em reconstruir reconstruir o projeto de serviço do WCF.

Os serviços de dados do WCF não são exibidos no navegador

Quando ele tenta exibir uma representação XML dos dados em um WCF Data Services, o Internet Explorer poderá interpretar incorretamente os dados como um RSS feed. Você deve certificar-se de que a opção para exibir os feeds RSS está desabilitada.

Para corrigir este erro, desative o RSS feeds:

  1. No Internet Explorer, sobre o Ferramentas menu, clique em Opções da Internet.

  2. Sobre o conteúdo tab, o Feeds seção, clique configurações.

  3. No Configurações de Feed caixa de diálogo, limpar o Ativar o modo de exibição de leitura de feed caixa de seleção e clique em OK.

  4. Clique em OK para fechar a Opções da Internet caixa de diálogo.

Consulte também

Conceitos

Os serviços do Windows Communication Foundation e serviços de dados do WCF em Visual Studio

Outros recursos

Consuming ASMX and WCF Services Sample