none
Error al retornar DataTable. RRS feed

  • Pregunta

  • Saludos, tengo el siguiente contrato

    [DataContract]
    public class EmployesAuthorized
    {
        [DataMember]
        public DataTable DT { get; set; }
    }
    [ServiceContract]
    public interface ControlIService
    {
        [OperationContract]
        EmployesAuthorized SearchEmployesAuthorized();
    }


    Cuando en mi cliente trato de acceder a el me genera un error 

    Información adicional: Error al recibir la respuesta HTTP a http://localhost:59534/ControlService.svc. Puede deberse a que el enlace del extremo de servicio no usa el protocolo HTTP. También puede deberse a que el servidor anula un contexto de solicitud HTTP (posiblemente por el cierre del servicio). Consulte los registros del servidor para obtener más información.

    He buscado mucho en internet sobre como solucionarlo y lo unico que me dicen es que en el archivo config agregue el maxReceivedMessageSize="2147483647" pero sigue sin funcionarme.

    web.Config Web Service

      <system.serviceModel>
        <behaviors>
          <endpointBehaviors>
            <behavior name="ClientBehavior">
              <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
            </behavior>
          </endpointBehaviors>
          <serviceBehaviors>        
            <behavior>
    
              <!-- Para evitar revelar información de los metadatos, establezca el valor siguiente en false antes de la implementación -->
              <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
              <!-- Para recibir detalles de las excepciones en los fallos, con el fin de poder realizar la depuración, establezca el valor siguiente en true. Para no revelar información sobre las excepciones, establézcalo en false antes de la implementación -->
              <serviceDebug includeExceptionDetailInFaults="false"/>
            </behavior>
            
          </serviceBehaviors>
        </behaviors>
        <client>
          <endpoint address="http://localhost:59534/ControlService.svc"  binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_MyServiceConfiguration" contract="ServiceReferences.IMyService" name="WSHttpBinding_MyService" behaviorConfiguration="ClientBehavior">
            <identity>
              <dns value="localhost" />
            </identity>
          </endpoint>
        </client>
        <protocolMapping>
          <add binding="basicHttpsBinding" scheme="https"/>
        </protocolMapping>
        <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>
      </system.serviceModel>

    web.Config Cliente

    <system.serviceModel>
    
    
        <behaviors>
          <endpointBehaviors>
            <behavior name="pointBehavior" >
              <dataContractSerializer maxItemsInObjectGraph="2147483647"/>
            </behavior>
          </endpointBehaviors>
        </behaviors>
    
        <bindings>
          <basicHttpBinding>
            <binding name="BasicHttpBinding_ControlIService" />
          </basicHttpBinding>
        </bindings>
        <client>
          <endpoint address="http://localhost:59534/ControlService.svc" 
            binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ControlIService"
            contract="WSControl.ControlIService" name="BasicHttpBinding_ControlIService" />
        </client>
      </system.serviceModel>

    Agradezco la ayuda.

    Saludos.

    martes, 1 de agosto de 2017 17:08