none
manejar wcf con sesiones y login RRS feed

  • Pregunta

  • buenas tardes, me gustaria consultar respecto a este tema que a veces creo que es guru de lo dificil que es encontrar informacion

    resulta que estoy creando 1 servidor que consta de 2 aplicaciones

    una aplicacion host que vendria quedando asi:
    [img]http://i1206.photobucket.com/albums/bb451/spiritdead/software%20FDT/interface.jpg[/img]

    y la segunda aplicacion es una libreria DLL que contiene todos los servicios
    alguno tiene informacion o conoce la forma de instanciar las conexiones a nivel de usuario y que todos los servicios se usen a ese nivel ?

    por ejemplo que hallan 3 clientes conectados al servicio y que 1 de los clientes mande 1 mensaje en el chat y le llegue al resto de los clientes(sesiones-login)

    todo se trabajaria a nivel de usuario

    algun consejo ? llevo semanas en este problema :S

    domingo, 19 de febrero de 2012 18:29

Todas las respuestas

  • Hola,

    Como veo un popurri de preguntas voy a intentar responderte por partes:

    1. Para manejar variables de sesión en un servicio de WCF, deberíamos hacer unas modificaciones en la configuración y creo que también es necesario hospedar el servicio en un servidor de IIS. De esta forma lo primero sería decorar nuestro servicio con este atributo:

    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
    public class MiService : IMiService 
    {
      // ...
    }
    

    Después deberíamos dirigirnos a nuestro web.config y buscar la sección de <system.serviceModel>. Ahí tenemos que añadir una línea semejante  a esta:

    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" />

    Y para terminar, si quieres acceder a la sesión deberías usar un código semejante a este:

    var session = System.Web.HttpContext.Current.Session;
    session["Id"] = 1
    var id = (int)session["Id"];

    2. Sobre como realizar un chat con WCF, es muy posible que la pieza que te falte sea un Duplex. Esto es un servicio que puede enviar y también recibir datos. De esta forma es como suelen funcionar este tipo de aplicaciones. Para aprender a manjear estos Duplex tienes muchos ejemplos por internet:

    http://www.dotnetfunda.com/interview/exclusive/x757-can-you-explain-duplex-contracts-in-wcf.aspx 

    3. Y para terminar sobre login de usuarios en WCF, hay una gran cantidad de formas de implementarlo. Una de las más sencillas es esta:

    http://msdn.microsoft.com/en-us/library/bb398862.aspx

     

    Un saludo,


    Fernanando Escolar - http://www.programandonet.com/ - @fernandoescolar

    lunes, 20 de febrero de 2012 8:00
  • Hola,

    Como veo un popurri de preguntas voy a intentar responderte por partes:

    1. Para manejar variables de sesión en un servicio de WCF, deberíamos hacer unas modificaciones en la configuración y creo que también es necesario hospedar el servicio en un servidor de IIS. De esta forma lo primero sería decorar nuestro servicio con este atributo:

    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
    public class MiService : IMiService 
    {
      // ...
    }

    Después deberíamos dirigirnos a nuestro web.config y buscar la sección de <system.serviceModel>. Ahí tenemos que añadir una línea semejante  a esta:

    <servicehostingenvironment aspnetcompatibilityenabled="true"></servicehostingenvironment>

    Y para terminar, si quieres acceder a la sesión deberías usar un código semejante a este:

    var session = System.Web.HttpContext.Current.Session;
    session["Id"] = 1
    var id = (int)session["Id"];

    2. Sobre como realizar un chat con WCF, es muy posible que la pieza que te falte sea un Duplex. Esto es un servicio que puede enviar y también recibir datos. De esta forma es como suelen funcionar este tipo de aplicaciones. Para aprender a manjear estos Duplex tienes muchos ejemplos por internet:

    http://www.dotnetfunda.com/interview/exclusive/x757-can-you-explain-duplex-contracts-in-wcf.aspx 

    3. Y para terminar sobre login de usuarios en WCF, hay una gran cantidad de formas de implementarlo. Una de las más sencillas es esta:

    http://msdn.microsoft.com/en-us/library/bb398862.aspx

     

    Un saludo,


    Fernanando Escolar - http://www.programandonet.com/ - @fernandoescolar

    ante todo gracias por tomarte el tiempo en ayudarme la verdad es que llevo bastante tiempo revisando etc y no logro encontrar la informacion de manera puntualizada

    te escribi al twitter que pones espero que tengas 1 tiempo libre y puedas aclararme unas dudas, saludos y gracias

    revisare bien lo que me has pasado

    martes, 21 de febrero de 2012 7:59
  • Hola,

    No he visto el tweet... A veces la gente se confunde y pone "fernandoescobar" en lugar de "fernandoescolar" jeje.

    De cualquier forma estaré atento y también puedes preguntar por aquí más cosas. Así podemos responderte más gente :D

    Un saludo y suerte!


    Fernanando Escolar - http://www.programandonet.com/ - @fernandoescolar

    martes, 21 de febrero de 2012 8:04
  • Hola,

    No he visto el tweet... A veces la gente se confunde y pone "fernandoescobar" en lugar de "fernandoescolar" jeje.

    De cualquier forma estaré atento y también puedes preguntar por aquí más cosas. Así podemos responderte más gente :D

    Un saludo y suerte!


    Fernanando Escolar - http://www.programandonet.com/ - @fernandoescolar


    se que seria bueno ponerlo por aca, pero es que me estoy volviendo loco con este tema del wcf, operation contract,servicecontract,app.config :'( mi tw es eduardocque por si te llega
    martes, 21 de febrero de 2012 9:42
  • Creo que el problea es que si tienes una cuenta twitter con los tweets privados, no puedo verlos :D

    Fernanando Escolar - http://www.programandonet.com/ - @fernandoescolar

    martes, 21 de febrero de 2012 11:22
  • Creo que el problea es que si tienes una cuenta twitter con los tweets privados, no puedo verlos :D

    Fernanando Escolar - http://www.programandonet.com/ - @fernandoescolar

    ya le quite el private, mientras estube probando las adiciones de codigo al programa, pero programar en wcf es distinto a winform,etc y no logro acostumbrarme
    martes, 21 de febrero de 2012 11:28