none
WCF + IIS RRS feed

  • Pregunta

  • Hola,

    Tengo una aplicacion de servicios wcf que trato de hostear en iis. Cuando hago las pruebas en el servidor IIS express que viene en el Visual 2012 todo funciona perfectamente pero cuando trato de hostearlo en el IIS que tengo instalado y trato de probarlo usando wcftestclient me da un error. Alguna idea de como resolverlo

    Esto es lo que tengo en mi web.config

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
     
      <configSections>
        <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" requirePermission="true" />
      </configSections>
      <dataConfiguration defaultDatabase="NorthwindConnection" />
      <connectionStrings>
        <add name="NorthwindConnection" connectionString="Server=.;Database=Northwind;Integrated Security=SSPI"
          providerName="System.Data.SqlClient" />
      </connectionStrings>
      <appSettings>
        <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" />
      </appSettings>
      <system.web>
        <compilation debug="true" targetFramework="4.5" />
        <httpRuntime targetFramework="4.5"/>
      </system.web>
      <system.serviceModel>
        <services>
          <service name="MantenimientoServiceLibrary.MantenimientoService">
            <endpoint binding="basicHttpBinding" bindingConfiguration=""
              contract="MantenimientoServiceLibrary.IMantenimientoService">
              <identity>
                <dns value="localhost" />
              </identity>
            </endpoint>
            <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration=""
              contract="IMetadataExchange" />
          </service>
        </services>
        <behaviors>
          <serviceBehaviors>
            <behavior name="ServiceBehavior">
              <serviceMetadata httpGetEnabled="true"  />
              <serviceDebug includeExceptionDetailInFaults="false" />
            </behavior>
          </serviceBehaviors>
        </behaviors>
        <protocolMapping>
            <add binding="basicHttpsBinding" scheme="https" />
        </protocolMapping>    
        <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
      </system.serviceModel>
      <system.webServer>
        <modules runAllManagedModulesForAllRequests="true"/>
        
        <!--
            Para examinar el directorio raíz de la aplicación web durante la depuración, establezca el valor siguiente en true.
            Establézcalo en false antes de la implementación para evitar revelar información sobre la carpeta de aplicación web.
          -->
        <directoryBrowse enabled="true"/>
      </system.webServer>
     
    </configuration>
    


    HBK

    sábado, 17 de agosto de 2013 15:36

Respuestas

Todas las respuestas

  • Y puedes mostrar la configuración de tu cliente?

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

    sábado, 17 de agosto de 2013 17:35
    Moderador
  • Esta es la configuracion del cliente usando IIS Express

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <startup
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
        </startup>
        <system.serviceModel>
            <bindings>
                <basicHttpBinding>
                    <binding name="HTTP_EndPoint" />
                </basicHttpBinding>
            </bindings>
            <client>
                <endpoint address="http://localhost:2904/ServicioMantenimiento.svc"
                    binding="basicHttpBinding" bindingConfiguration="HTTP_EndPoint"
                    contract="ProxyMantenimientoIIS.IMantenimientoService" name="HTTP_EndPoint" />
            </client>
        </system.serviceModel>
    </configuration>


    HBK

    sábado, 17 de agosto de 2013 17:39
  • En el endpoint no has definido un address, una dirección ni puerto sobre la que esta configurado el servicio.

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

    sábado, 17 de agosto de 2013 17:44
    Moderador
  • Revisa esta documentacion

    Deploying an Internet Information Services-Hosted WCF Service


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

    sábado, 17 de agosto de 2013 17:51
    Moderador
  • Fíjate que en tu web.config el endpoint que defines el  binding y demás no has definido la address que tienes en tu cliente

    address="http://localhost:2904/ServicioMantenimiento.svc"


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


    sábado, 17 de agosto de 2013 17:57
    Moderador