none
WCF+Silverlight 4+IIS 7.5+Windows 2008 RRS feed

  • Pergunta

  • Boa noite,

    Preciso de uma ajuda com WCF.

    Na minha máquina local (ambiente de desenvolvimento) consigo rodar uma aplicação que usa .NET 4, Silverlight 4 e WCF. Quando publico a aplicação para o Servidor WEB, os serviços do WCF não funcionam. A página até é exibida, mas o WCF não executa seus métodos.

    Alguém poderia me ajudar?

    O servidor é um Windows 2008 e o versão do IIS é 7.5.

     

    Obrigado!

    quinta-feira, 31 de março de 2011 19:45

Todas as Respostas

  • Olá ,Cayo

    Você referênciou o webservice com o wcf do servidor ,com clique direito no Configure  Service Reference com o server novo ? Atualizou com Update Service Reference ? E fez um Build ? E Publish ?

    Faça um teste verifique se você consegue consegue acessar via browser o webservice

    http://nomedosevidor/nomedowebservice.svc


    Américo Arvani
    MCP Frw web 2.0
    MCP Frw web/win 3.5
    Se ajudou , marque como resposta.
    http://americoarvani.blogspot.com
    quinta-feira, 31 de março de 2011 20:02
  • Caro amigo.

    Inicialmente agradeço por sua atenção.

    quando tento acessar o serviço, da forma que orientou ocorre o seguinte erro:

    "Unrecognized attribute 'multipleSiteBindingsEnabled'. Note that attribute names are case-sensitive."

    A URL acessada foi http://sesaulb7:16128/WCFbomba.svc

    Coloquei até a mesma porta no IIS, em que o VS 2010 utiliza como padrão para o serviço no ambiente de desenvolvimento.

    Já procurei sobre o erro citado, mas as referências me informam que este erro ocorre quando se está utilizando uma versão .NET < 4.0. Mas eu estou utilizando a 4.0.

    O que pode estar havendo?

     

    Abs

    quinta-feira, 31 de março de 2011 20:30
  • Verifique no servidor o pool de aplicação está com o frameworks 4 .

    http://www.michaelsnow.com/2010/05/03/silverlight-tip-of-the-day-11-deploying-silverlight-applications-with-wcf-web-services/


    Américo Arvani
    MCP Frw web 2.0
    MCP Frw web/win 3.5
    Se ajudou , marque como resposta.
    http://americoarvani.blogspot.com
    • Sugerido como Resposta Américo Arvani quinta-feira, 7 de abril de 2011 13:25
    quinta-feira, 31 de março de 2011 20:40
  • Américo,

    Todos os meus passos estava certos, chegando no pool de aplicação conforme orienta.

    Porém, em Edit Application Pool, no momento de alternar a versão da .NET FW, eu só tenho a opção 2.0 ou código não gerenciável.

    Não há opção da .NET FW 4.0. Mas o Servidor é windows 2008 + IIS 7.5. Estranho não? Penso que deveria vir com a versão da 4.0 por padrão.

    O que pode estar acontecendo?

    Abs

    quinta-feira, 31 de março de 2011 20:52
  • Que eu saíba ele não vem instalado, é preciso fazer o windows update para atualizar , mas para garantir instale o FRW 4 .
    Américo Arvani
    MCP Frw web 2.0
    MCP Frw web/win 3.5
    Se ajudou , marque como resposta.
    http://americoarvani.blogspot.com
    quinta-feira, 31 de março de 2011 21:01
  • Américo,

    Alterei meu Pool de Applicação no windows 2008 depois de instalar a FW 4.0, reiniciei.. e nada!

    Antes de publicar a solucçãom novamente, configurei o arquivo ServiceReferences.ClientConfig e coloquei o servidor web como end point, ficando assim:

            <client>
                <endpoint address="http://sesaulb7:16128/WCFBomba.svc" binding="customBinding"
                    bindingConfiguration="CustomBinding_WCFBomba" contract="ServiceBomba.WCFBomba"
                    name="CustomBinding_WCFBomba" />
            </client>

    E ainda, fui nas configurações da referência do serviço na aplicação Silverlight (Service Reference) e consegui configurar o mesmo endereço do endpoint.

    Publiquei e testei o serviço acessando-o diretamente (http://sesaulb7:16128/WCFBomba.svc) e o resultado foi positivo!

     

    Porém, ao tentar acessar a aplicação, em telas que fazem chamadas utilizando WCF, ocorre o seguinte erro (IE8):

    Webpage error details

    User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)
    Timestamp: Thu, 31 Mar 2011 22:05:25 UTC


    Message: Unhandled Error in Silverlight Application [Async_ExceptionOccurred]
    Arguments:
    Debugging resource strings are unavailable. Often the key and arguments provide sufficient information to diagnose the problem. See http://go.microsoft.com/fwlink/?linkid=106663&Version=4.0.60129.0&File=System.dll&Key=Async_ExceptionOccurred   at System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary()
       at PriApp.ServiceBomba.GetElementosCompletedEventArgs.get_Result()
       at PriApp.PainelEquipamentos.servicoBomba_GetElementosCompleted(Object sender, GetElementosCompletedEventArgs e)
       at PriApp.ServiceBomba.WCFBombaClient.OnGetElementosCompleted(Object state)
    Line: 1
    Char: 1
    Code: 0
    URI: http://sesaulb7:16128/PriAppTestPage.html

    E o pior é que no Firefox, ele no rodapé (barra de status) fica a mensagem (conectando-se a localhost...). Porque "localhost"? Não efetuei toda mudança para o servidor WEB (sesaulb7)?

    Sabe o que pode estar ocorrendo?

    Abs

    quinta-feira, 31 de março de 2011 22:11
  • Faça os seguintes passos

    Clique direito no services , update services , bind , se não encontrar nenhum erro publish.


    Américo Arvani
    MCP Frw web 2.0
    MCP Frw web/win 3.5
    Se ajudou , marque como resposta.
    http://americoarvani.blogspot.com
    quinta-feira, 31 de março de 2011 23:04
  • Teste seu serviço com o WCFTestClient se os metodos retornarem positivo o seu serviço está ok senão verifique se não é algo como conexão do banco de dados ou algum tipo de configuração no serviço.
    sexta-feira, 1 de abril de 2011 01:23
  • Bom dia, cayo

    Funcionou?


    Américo Arvani
    MCP Frw web 2.0
    MCP Frw web/win 3.5
    Se ajudou , marque como resposta.
    http://americoarvani.blogspot.com
    sexta-feira, 1 de abril de 2011 13:48
  • Bom dia Américo.

    Obrigado pela atenção.

    Continua sem funcionar. Porém aplicamos um regiis /i e colocamos <authentication mode="Windows"/> no web.config.

    Coincidentemente, ele funcionou por uns 5 minutos e depois o serviço travou! Reiniciamos o servidor e nada.

    Seguindo a orientação do Nosso amigo Thiago, utilizei a ferramenta citada e descobri um erro em um método por estar utilizando Dictionary. Mas pelo que li isso não impactaria no consumo do serviço.

    Creio que a configuração do meu serviço esteja errada, já que é a primeira vez que faço algo do tipo.

    Crei do zero, em outro projeto, um pequeno serviço que me retorna uma string. E esse já está dando erro também. Vou efetuar testes e já posto novamente.

    Obrigado pela força.

    Abs

    sexta-feira, 1 de abril de 2011 14:27
  • Américo,

     

    Criei Projetos que retornam:

    * Máquina Local:

      - apenas strings - OK;

      - dados do oracle - OK;

      - dados do PI (Plant Information) - OK;

    * Servidor

      - apenas strings - OK;

      - dados do oracle - ERRO;

      - dados do PI (Plant Information) - OK;

     

    Verifiquei o problema e constatei que a versão do client instalada no servidor está com problemas.

    Esta é uma das etapas rumo ao ouro! hehehe...

    Irei postar as informações sobre a solução do problema, quando for resolvido.

    Obrigado por tudo, até o momento!

    Abs.

    sexta-feira, 1 de abril de 2011 19:49
  • Olá, Cayo

    Conseguiu um avanço?


    Américo Arvani
    MCP Frw web 2.0
    MCP Frw web/win 3.5
    Se ajudou , marque como resposta.
    http://americoarvani.blogspot.com
    quarta-feira, 13 de abril de 2011 14:12