none
Como publicar e fazer funcionar Silverlight no IIS

    Question

  • Olá Pessoal, estou com dificuldades para fazer meu projeto funcionar no iis 5.1.
    Eu segui os passos abaixos de alguns fóruns, porém ainda não está funcionando direito,
    a página o layout td carrega legal, mas na hora que tento executar o autocompletebox digitando algo
    dá erro na página, o erro está abaixo, porém não ajuda em muita coisa:

    Ainda tenho dúvida sobre o webservice. Apenas publicando a página no IIS o webservice já funciona?

    Passos que segui para publicar:

    1. Criar o diretório virtual no IIS

    2. Publicar o SilverlitghtApplication.Web dentro da pasta. ( botão direito no projeto SilverlitghtApplication.Web e publish web site  );


    erro da página?

    Detalhes dos erros da página da Web

    Mensagem: Unhandled Error in Silverlight Application An exception occurred during the operation, making the result invalid.  Check InnerException for exception details.   at System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary()
       at WebTelefone.FoneReference.GetFonesCompletedEventArgs.get_Result()
       at WebTelefone.MainPage.webService_GetFonesCompleted(Object sender, GetFonesCompletedEventArgs e)
       at WebTelefone.FoneReference.TelefoneServiceClient.OnGetFonesCompleted(Object state)
    Linha: 1
    Caractere: 1
    Código: 0
    URI: http://10.93.11.48/telefone/


    Agradeço o apoio!

    WSS - Anaslita de Sistemas
    • Edited by Oriun Tuesday, August 25, 2009 5:56 PM
    Tuesday, August 25, 2009 12:35 PM

Answers

  • Olá Lucas, eu mudei a propriedade mas o erro continua o mesmo erro padrão. Lucas, nós acreditamos que o problema esteja
    na hospedagem da locaweb, por não estar instalado o framework, apesar deles dizerem q está.
    Nós iremos tentar hospedar em outro local para confirmar isto.

    Agradeço a ajuda!
    WSS - Anaslita de Sistemas
    • Marked as answer by Oriun Tuesday, September 08, 2009 12:59 PM
    Tuesday, September 08, 2009 12:59 PM

All replies

  • Olá.

    Oriun, tente registrar o MIME TYPE do Silverlight no IIS: http://www.adefwebserver.com/DotNetNukeHELP/Misc/Silverlight/SettingMimeType.html

    Se ainda sim não der certo, será necessário criar um arquivo xml dando as permissões necessárias, crie dois arquivos XML e deixe na pasta wwwroot:

    clientaccesspolicy.xml

    <?xml version="1.0" encoding="utf-8"?>
    <access-policy>
      <cross-domain-access>
        <policy>
          <allow-from http-request-headers="*">
            <domain uri="*"/>
          </allow-from>
          <grant-to>
            <resource path="/" include-subpaths="true"/>
          </grant-to>
        </policy>
      </cross-domain-access>
    </access-policy>

    crossdomain.xml

    <?xml version="1.0" encoding="utf-8"?>
    <access-policy>
      <cross-domain-access>
        <policy>
          <allow-from http-request-headers="*">
            <domain uri="*"/>
          </allow-from>
          <grant-to>
            <resource path="/" include-subpaths="true"/>
          </grant-to>
        </policy>
      </cross-domain-access>
    </access-policy>

    Abraço
    "Se sua pergunta foi respondida, por favor, marque como resposta."

    Thursday, August 27, 2009 12:08 PM
  • Olá Lucas!

    Obrigado por responder!

    Eu li seus artigos e li alguns posts relacionado ao meu problema, mas o problema persiste.

    Fiz os passos que vc falou no post acima, e reiniciei meu IIS 5.1 mas o  erro ainda persite:

    Detalhes dos erros da página da Web

    Agente de Usuário: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2)
    Carimbo de data/hora: Thu, 27 Aug 2009 13:32:52 UTC


    Mensagem: Unhandled Error in Silverlight Application An exception occurred during the operation, making the result invalid.  Check InnerException for exception details.   at System.ComponentModel.AsyncCompletedEventArgs.RaiseExceptionIfNecessary()
       at GSAWeb.GSAReference.Get_VenSituacaoCompletedEventArgs.get_Result()
       at GSAWeb.MainPage.webservice_Get_VenSituacaoCompleted(Object sender, Get_VenSituacaoCompletedEventArgs e)
       at GSAWeb.GSAReference.GSAServiceClient.OnGet_VenSituacaoCompleted(Object state)
    Linha: 1
    Caractere: 1
    Código: 0
    URI: http://localhost/gsaweb/GSAWebTestPage.html


    Veja quando eu coloco no browser para mostrar meu serviço, ele está ativo e funcionando:
    svcutil.exe http://welesdell/GSAWeb/GSAService.svc?wsdl
    

    contudo quando o site aí vem o erro acima:

    http://localhost/gsaweb/GSAWebTestPage.aspx



    WSS - Anaslita de Sistemas
    Thursday, August 27, 2009 1:35 PM
  • Qual é o endereço que você está recebendo no ServiceReference? Se ele estiver utilizando alguma porta, retire. Aponte o endereço que você acessa pelo browser. Veja se isto dá certo. Abraço.
    Thursday, August 27, 2009 3:46 PM
  • Olá Lucas, justamente, meu grande problema estava no ClientConfig, precisei alterá-lo e colocar o site onde queria publicar mais o nome do diretório virtual onde seria publicada minha página;

    mudei de:
    <endpoint address="http://localhost:30455/webtelefone.web/TelefoneService.svc"
                    binding="customBinding" bindingConfiguration="CustomBinding_TelefoneService"
                    contract="FoneReference.TelefoneService" name="CustomBinding_TelefoneService" />

    <endpoint address="http://www.cpb.com.br/telefone/TelefoneService.svc"
                    binding="customBinding" bindingConfiguration="CustomBinding_TelefoneService"
                    contract="FoneReference.TelefoneService" name="CustomBinding_TelefoneService" />

    onde:
    http://www.cpb.com.br/ é o site e

    telefone é o nome do diretório virtual

    Lucas, obrigado, só queria mais uma ajuda se possível:
    O site está funcionando apenas quando chamo a url com .HTML, quando eu a chamo com .ASPX aparece um erro,
    se vc puder acessar o link, para testar digite letra w no autocompletebox  :
    http://www.cpb.com.br/telefone/webtelefonetestpage.html,
    já quando digito: 
    http://www.cpb.com.br/telefone/webtelefonetestpage.aspx
    não funciona dá erro

    Obrigado novamente!










    WSS - Anaslita de Sistemas
    Thursday, August 27, 2009 6:53 PM
  • Olá Lucas, eu pensei q estava funconando mas não está com eu possuía um iis na minha máquina por estar no mesmo domínio ele apontava local e funcionava.

    Lucas, eu estou tentando hospedar o site na locaweb, lá já existe um site:
    www.cpb.com.br.  Então creiei um diretório virtual telefone. No clientconfig apontei para este site mas mesmo assim continua dando erro:

    <endpoint address="http://www.cpb.com.br/telefone/TelefoneService.svc"
                    binding="customBinding" bindingConfiguration="CustomBinding_TelefoneService"
                    contract="FoneReference.TelefoneService" name="CustomBinding_TelefoneService" />

    Runtime Error body {font-family:"Verdana";font-weight:normal;font-size: .7em;color:black;} p {font-family:"Verdana";font-weight:normal;color:black;margin-top: -5px} b {font-family:"Verdana";font-weight:bold;color:black;margin-top: -5px} H1 { font-family:"Verdana";font-weight:normal;font-size:18pt;color:red } H2 { font-family:"Verdana";font-weight:normal;font-size:14pt;color:maroon } pre {font-family:"Lucida Console";font-size: .9em} .marker {font-weight: bold; color: black;text-decoration: none;} .version {color: gray;} .error {margin-bottom: 10px;} .expandable { text-decoration:underline; font-weight:bold; color:navy; cursor:hand; }

    Server Error in '/' Application.

    Runtime Error

    Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

    Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".

    <!-- Web.Config Configuration File -->
    
    <configuration>
        <system.web>
            <customErrors mode="Off"/>
        </system.web>
    </configuration>


    eu tive a impressão que no lugar do site teria q ser o ip, mas com o ip não funciona:
    http://www.cpb.com.br/telefone/TelefoneService.svc"

    O pessoal da locaweb disse que para eu acessar via ip eu precisaria ter um ip adicional, mas será que preciso mesmo, seria esta a única forma?

    eu acrescentei tbm no web.config:
            <serviceHostingEnvironment aspNetCompatibilityEnabled="true">
                <baseAddressPrefixFilters>
                    <add prefix="http://www.cpb.com.br/"/>
                </baseAddressPrefixFilters>
            </serviceHostingEnvironment>


    mas não funcionou ainda...

    Vc tem mais alguma idéia, do que pode ser?

    Obrigado












    WSS - Anaslita de Sistemas
    Friday, August 28, 2009 11:52 AM
  • Olá.

    Mude esta propriedade para ver a mensagem de erro específica. Tive alguns problemas com herança de Web.Config quando criei um diretório virtual dentro da Locaweb. A aplicação ainda sim carregava o Web.Config do meu projeto raiz.

    Coloque a propriedade customErrors mode="Off" em seu web.config e nos envie o erro específico.

    Abraços.

    Monday, August 31, 2009 1:08 PM
  • Olá Lucas, eu mudei a propriedade mas o erro continua o mesmo erro padrão. Lucas, nós acreditamos que o problema esteja
    na hospedagem da locaweb, por não estar instalado o framework, apesar deles dizerem q está.
    Nós iremos tentar hospedar em outro local para confirmar isto.

    Agradeço a ajuda!
    WSS - Anaslita de Sistemas
    • Marked as answer by Oriun Tuesday, September 08, 2009 12:59 PM
    Tuesday, September 08, 2009 12:59 PM