none
Publicar wcf y proyecto web en iis ? RRS feed

  • Pregunta

  • Muy buenas a todos, soy nuevo por aquí y quería hacer una consulta relacionada al iis.

    Tengo un proyecto con asp.net que contiene un proyecto web asp y un proyecto wcf y quiero publicar la app asp.net y el servicio wcf.

    Primero publiqué la app web a modo de prueba siguiendo estos pasos:

    1.- Cree una carpeta en wwwroot del iis

    2.- Convertí esa carpeta a una aplicación

    3.- Copie y pegue los archivos: webconfig, paginas y carpeta bin de mi proyecto asp.

    4.- Ejecute la ruta desde el navegador y funciona

    Pero como puedo hacer para publicar también el proyecto wcf ? debo publicarlo por separado ?

    como el servicio web wcf está dentro del mismo proyecto, mi idea es alojar el servicio junto con la aplicación dentro de la carpeta de mi iis, es posible hacer esto ?

    gracias de antemano.

    • Cambiado Joyce_AC lunes, 26 de junio de 2017 14:55
    lunes, 26 de junio de 2017 3:19

Todas las respuestas

  • ¿Cómo tienes construido el servicio WCF? Para publicarlo bajo IIS lo más sencillo sería que lo activases desde un fichero .svc. Si Ya tienes el .svc, entonces no hay que hacer nada en especial para publicarlo, simplemente añádelo a la misma carpeta junto con el resto de los ficheros que ya has publicado para tu aplicación.
    lunes, 26 de junio de 2017 6:53
  • ¿Cómo tienes construido el servicio WCF? Para publicarlo bajo IIS lo más sencillo sería que lo activases desde un fichero .svc. Si Ya tienes el .svc, entonces no hay que hacer nada en especial para publicarlo, simplemente añádelo a la misma carpeta junto con el resto de los ficheros que ya has publicado para tu aplicación.

          Hola, Si tengo esos ficheros en donde tengo la implementación de los métodos, los pase a la carpeta del iis de la siguiente manera:

     - wwwroot

         - MyApp

             - Paginas: Login.aspx, Menu.aspx, IngresoCliente.aspx

             - bin: todas las dll

             - styles: archivos css, js etc...

             - web.config

             - ws :

                   - bin: dll's de mi web service

                   - ClienteWs.svc

                   - Web.config

    Pero al acceder desde el browser me arroja lo sig.

     Es incorrecto utilizar una sección registrada como allowDefinition='MachineToApplication' mas allá del nivel de aplicación. Este error puede tener como origen un directorio virtual que no esté configurado como aplicación en IIS.

    Línea 26:         <add binding="basicHttpsBinding" scheme="https"/>
    Línea 27:     </protocolMapping>    
    Línea 28:     <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>
    Línea 29:   </system.serviceModel>
    Línea 30:   <system.webServer>

    lunes, 26 de junio de 2017 7:29
  • hola

    >>Pero como puedo hacer para publicar también el proyecto wcf ?

    la publicacion es la misma que para un sitio web

    >>debo publicarlo por separado ?

    si en tu desarrollo el wcf esta en un proyecto separado entonces si

    si el svc esta en el mismo proyecto (ojo, proyecto no solucion) entonces cuando publicaste el sitio web tambien debiste haber publicado el wcf

    recuerda cambiar en el web.config la configuracion que indica la url donde esta el endpoint, tanto del cliente como del servidor que expone el servicio

    por lo general sitio web y servicio wcf se implementan en sitio separados para que quede bien claro quien es el servidor y cual el cliente

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 26 de junio de 2017 11:11
  • hola

    >>Si tengo esos ficheros en donde tengo la implementación de los métodos, los pase a la carpeta del iis de la siguiente manera

    No funciona que pongas uan carpeta "ws" denteo del mismo sitio porque no tomara el web.config de esta sino se define como site en el IIS

    si debiste crear una estructura como esta lleva el "ws" a un sitio separado en el IIS con su propio puerto

    En un sitio solo puede existir un unico web.config y una sola carpeta \bin, si quieres que funcione todo junto vas a tener que fusionarlo

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    lunes, 26 de junio de 2017 11:21
  • recuerda cambiar en el web.config la configuracion que indica la url donde esta el endpoint, tanto del cliente como del servidor que expone el servicio

       Hola, efectivamente el proyecto wfc es aparte de los demás (pero todos los proyectos incluidos en una misma solución, proyecto web, bilbitoecas y  app wcf), eso de configurar el endpoint es para apuntar hacia la carpeta donde tengo alojado el webservice ?

    Ya subi el wcf en un sitio web aparte dentro del iis, pero no logra comunicarse con la app cliente :/ (pero si se comunica desde el proyecto en visual studio que ofrece el servicio).

    lunes, 26 de junio de 2017 18:52