Usuario
manejar wcf con sesiones y login

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
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
-
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
-
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
-
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 -
-
Creo que el problea es que si tienes una cuenta twitter con los tweets privados, no puedo verlos :D
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
Fernanando Escolar - http://www.programandonet.com/ - @fernandoescolar