none
WCF duda RRS feed

  • Pregunta

  • Estoy trabajando con silverlight, especificamente con PivotViewer, y lo estoy conectando a una base de datos SQL Server a traves de un servicio WCF, el problema surge al traer los datos de la base de datos, a veces lo hace correctamente y otras veces no. Temo que algo esta impidiendo traer los datos desde la base de datos, y creo que se debe a algo de configuracion. Alguien sabe algo? de antemano gracias!
    martes, 16 de abril de 2013 15:05

Respuestas

Todas las respuestas

  • Creaste 'CrossDomain.xml' y el  'ClientAccessPolicy.xml'.?? Que tipo de binding usas? Configuralo como basicHttpBinding


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos


    martes, 16 de abril de 2013 20:13
    Moderador
  • a veces lo hace correctamente y otras veces no

    como es que notas que a veces los trae y otras no ? solamente por la visualizacion en silverlight

    has validado que la query que usas para recuperar la info este correcta ?

    que volumen de datos es que recuperas y envias por el servicio ? porque recuerda que WCF tiene configurado cierto limite, aunque es raro porque si lo excedes deberias tener un mensaje de error

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    miércoles, 17 de abril de 2013 0:51
  • Hola, gracias por responder, soy nuevo en esto de tecnologías Microsoft, pero he investigado y tengo esto como crossdomain y clientaccesspolicy:
    //CLIENTACCESSPOLICY
    <?xml version="1.0" encoding="utf-8"?>
    <access-policy>
      <cross-domain-access>
        <policy>
          <allow-from http-request-headers="SOAPAction">
            <domain uri="*"/>
          </allow-from>
          <grant-to>
            <resource path="/" include-subpaths="true"/>
          </grant-to>
        </policy>
      </cross-domain-access>
    </access-policy>
    
    //CROSSDOMAIN
    <?xml version="1.0"?>
    <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
    <cross-domain-policy>
      <allow-http-request-headers-from domain="*" headers="SOAPAction,Content-Type"/>
    </cross-domain-policy>
    Espero y me pueda ayudar, estoy desesperado. Gracias de antemano!.
    jueves, 18 de abril de 2013 19:09
  • Hola, aprecio mucho que me responda,  me doy cuenta que lo hace correctamente, por que pivot despliega la informacion, y otras simplemente reacciona como cuando falta un dato o info, es decir no hace nada, solo muestra los paneles pero sin informacion.

    La query me parece que esta correcta, por que muchas veces la funciona todo correctamente, pero otras no.

    Con respecto al volumen de datos tengo la configuracion asi:

    <?xml version="1.0"?>
    
    <!--
      For more information on how to configure your ASP.NET application, please visit
      http://go.microsoft.com/fwlink/?LinkId=169433
      -->
    
    <configuration>
        <connectionStrings>
            <add name="MetadatosConnectionString" connectionString="Data Source=ESTANCIAACAD\SQLSERVER;Initial Catalog=Metadatos;Persist Security Info=True;User ID=sa;Password=compaq"
                providerName="System.Data.SqlClient" />
        </connectionStrings>
        <system.web>
            <compilation debug="true" targetFramework="4.0" />
        </system.web>
    
        <system.serviceModel>
            <behaviors>
                <serviceBehaviors>
                    <behavior name="">
                        <serviceMetadata httpGetEnabled="true" />
                        <serviceDebug includeExceptionDetailInFaults="true" />
    		    <dataContractSerializer maxItemsInObjectGraph="2147483647"/> 
    		    <serviceThrottling maxConcurrentCalls="1000000" maxConcurrentSessions="1000000" maxConcurrentInstances="1000000" />
                    </behavior>
                </serviceBehaviors>
            </behaviors>
            <bindings>
                <customBinding>
                    <binding name="PV_MultiValued.Web.Service1.customBinding0" maxBufferPoolSize="2147483647"
    maxBufferSize="2147483647"
    maxConnections="2147483647"
    maxReceivedMessageSize="2147483647"
    portSharingEnabled="false"
    transactionFlow="false"
    closeTimeout="00:05:00" 
    openTimeout="00:05:00" 
    receiveTimeout="00:05:00" 
    sendTimeout="00:05:00"
    listenBacklog="2147483647">
    
                        <binaryMessageEncoding/>
                        <httpTransport />
                    </binding>
                </customBinding>
            </bindings>
            <serviceHostingEnvironment aspNetCompatibilityEnabled="true"
                multipleSiteBindingsEnabled="true" />
            <services>
                <service name="PV_MultiValued.Web.Service1">
                    <endpoint address="" binding="customBinding" bindingConfiguration="PV_MultiValued.Web.Service1.customBinding0"
                        contract="PV_MultiValued.Web.Service1" />
                    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
                </service>
            </services>
        </system.serviceModel>
    </configuration>
    

    Todo lo anterior en la configuracion del servicio, en el cliente solo tengo esto:

    <?xml version="1.0"?>
    
    <!--
      For more information on how to configure your ASP.NET application, please visit
      http://go.microsoft.com/fwlink/?LinkId=169433
      -->
    
    <configuration>
        <system.web>
            <compilation debug="true" targetFramework="4.0" />
        </system.web>
    
    </configuration>
    

    Espero y pueda ayudarme, ya he revisado muchas cosas y no puedo saber cual es el problema. Muchas Gracias!

    jueves, 18 de abril de 2013 19:13
  • La query me parece que esta correcta, por que muchas veces la funciona todo correctamente, pero otras no.

    No entiendo esto,como que a veces funciona y otras no?


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    jueves, 18 de abril de 2013 20:12
    Moderador
  • Hola, cuando me refiero a que a veces funciona, es por que silverlight me muestra la información, si doy un refresh a mi pagina deja de funcionar, si refresco otra vez vuelve a funcionar, no se por que suceda esto, espero y me pueda ayudar, muchas gracias por su tiempo.
    viernes, 19 de abril de 2013 14:31
  • Hola buen dia!!, ya solucione el problema, era un tema de la forma que recogía la información por medio de llamadas asíncronas, no terminaba de recoger información y yo estaba realizando otra operación, pero ya quedo solucionado. Tengo otra pequeña duda, todo esta funcionando en un servidor local, me podría guiar para migrar todo a un servidor remoto? gracias de antemano 
    lunes, 22 de abril de 2013 15:14
  • Deploying an Internet Information Services-Hosted WCF Service

    Sigue los pasos de este enlace... Comentamos que tal.

    Saludos


    Si se solucionó tu consulta no olvides marcar la respuesta. Si te ayudó vótala como útil. Saludos

    • Marcado como respuesta dishelt lunes, 22 de abril de 2013 18:34
    lunes, 22 de abril de 2013 16:36
    Moderador
  • Hola buenos días, segui su guia y todo va bien en el servidor externo, (yo tengo acceso al servidor externo) funciona todo de maravilla en el servidor mediante (localhost) pero cuando acceso desde otra pc no funciona, que estoy haciendo mal? que otra configuracion falta? (pienso que podria ser un caso de crossdomain.xml y clientaccesspolicy o me equivoco), gracias por su ayuda, saludos!

    Actualizacion: El problema reside cuando obtengo datos del servicio, si omito el servicio, todo va bien desde una maquina externa. Espero y pueda ayudarme, gracias!

     
    • Editado dishelt jueves, 25 de abril de 2013 19:12
    jueves, 25 de abril de 2013 18:51