Compartilhar 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 referencia 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 exceção "A cota de tamanho máximo de mensagens de entrada foi excedida".Por padrão, o MaxReceivedMessageSize propriedade algumas vinculações é 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.Para obter mais informações, consulte MaxReceivedMessageSize.

Para corrigir esse erro:

  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 o 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.

Para corrigir esse erro:

  • 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' ".

Para corrigir esse erro:

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

  2. Sobre o Start Options guia, limpar o A 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.

Para obter mais informações, consulte 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 de opção na Configurar referências de serviço caixa de diálogo para interno ou amigo talvez não funcionem sempre.Mesmo que 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 em 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 faz 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 acessa sempre binários do serviço atualizado, que é especialmente importante para cenários como a depuração do código de cliente em código de serviço de depuração.

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

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

  1. No menu Tools, clique em 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.Para obter mais informações, consulte Como: criar soluções de multiprojetos.

  5. No Configuration Manager caixa de diálogo, o conjunto a a configuração de solução ativa para Debug.Para obter mais informações, consulte 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, 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, em seguida, 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