in

Pregunta sobre el ejemplo "Cliente Chat"

Last post 09-14-2007 16:25 by jfbonnin. 13 replies.
Page 1 of 1 (14 items)
Sort Posts: Previous Next
  • 05-14-2007 13:44

    • Lluis
    • Top 10 Contributor
    • Joined on 03-30-2007
    • Posts 16
    • Points 267

    Pregunta sobre el ejemplo "Cliente Chat"

    ¿Creeis los seguidores del lenguaje de programación en Visual Basic .Net,que se podría "traducir" el ejemplo que Salvador de la Rosa presentó en el evento de WCF? Lo pregunto porqué yo en lo que se refiere a C# no estoy nada puesto y me gustaría pasar dicho ejemplo a VB.

    Bueno, ya me direis los que dominais más estos temas si es posible o, por el contrario, resulta harto complicado.

    Un saludo.

    Lluis

    • Post Points: 56
  • 05-15-2007 8:24 In reply to

    • jjofre
    • Top 10 Contributor
    • Joined on 01-24-2007
    • Posts 112
    • Points 1,434

    Re: Pregunta sobre el ejemplo "Cliente Chat"

    Seguramente generará bastante código chapuza, pero para ir rápido te podría ir bien un add-in del VS 2005 que puedes bajarte de http://msdn.microsoft.com/msdnmag/issues/06/02/PasteAs/ y que pasa directamente código C# a VB .Net de forma "automática"...en la misma página web tienes un ejemplo.

    Un saludo.

    Javier Jofre
    Coordinador Baleares on .NET
    http://www.balearsinnovacio.com/blog/
    • Post Points: 22
  • 05-15-2007 18:13 In reply to

    • Lluis
    • Top 10 Contributor
    • Joined on 03-30-2007
    • Posts 16
    • Points 267

    Re: Pregunta sobre el ejemplo "Cliente Chat"

    He intentado lo que se explica en la página que has comentado y, la verdad, no he logrado hacerlo funcionar. Algo debo hacer mal. De todas formas, en la misma dirección a la que me has remitido, he encontrado otro enlace que funciona a la perfección. Lo único es que se trata de una página web y por lo tanto no es una utilidad que te puedas descargar y dependes de un buen funcionamiento de dicha página. Si os interesa pongo el enlace:

    http://carlosag.net/Tools/CodeTranslator/Default.aspx

    Lo he probado y funciona bien. 

    Un saludo a todos.

    Lluis

    • Post Points: 22
  • 05-15-2007 21:22 In reply to

    • jjofre
    • Top 10 Contributor
    • Joined on 01-24-2007
    • Posts 112
    • Points 1,434

    Re: Pregunta sobre el ejemplo "Cliente Chat"

    Pues sí, acabo de echarle un vistazo y es curioso que exista esta herramienta vía web. Gracias por el enlace. Un saludo.

    Javier Jofre
    Coordinador Baleares on .NET
    http://www.balearsinnovacio.com/blog/
    • Post Points: 5
  • 05-17-2007 0:26 In reply to

    • Juanra
    • Top 25 Contributor
    • Joined on 05-16-2007
    • Posts 11
    • Points 223

    Re: Pregunta sobre el ejemplo "Cliente Chat"

    Hola Luis,

     me atrevo a decir que he traducido mas o menos el ejemplo de la presentación de Salvador a Visual Basic (con algunos cambios). He creado dos servicios, un servicio que concatena una cadena "fija" con el input de un textbox, y otro servicio que devuelve un dataset y muestra los datos en un datagridview.

     Estoy esperando que Jose me revise mi ejemplo y que me diga como tengo que hacerlo para poderlo publicar el "baleareson.net".

      Juanra.

    • Post Points: 37
  • 05-17-2007 18:12 In reply to

    • Lluis
    • Top 10 Contributor
    • Joined on 03-30-2007
    • Posts 16
    • Points 267

    Re: Pregunta sobre el ejemplo "Cliente Chat"

    He intentado implementar la utilidad del ejemplo y en la primera parte del mismo, es decir, en la del servicio, logro arrancar la aplicación pero me sale el depurador con el siguiente error: 

    "El servicio 'MiServicioConsoleHost.MiServicio.ServicioChat' tiene cero extremos de aplicación (no infraestructura). Esto puede deberse a que no se encontró ningún archivo de configuración para la aplicación, a que no se encontró ningún elemento de servicio coincidente con el nombre del servicio en el archivo de configuración, o bien a que no se definió ningún extremo en el elemento de servicio."

    Parece como si no existiese el fichero de configuració "app.config", pero sí se halla en el proyecto VB y es idéntico al del ejemplo en C#, pero parece que el código de inicio no accede al mismo. Ignoro cual es el problema pero continuaré hasta poder ver la "traducción efectuada por Juanra que me orientara mejor puesto que ya le ha funcionado. Mientras tanto seguiré investigando.

    Un saludo.

    • Post Points: 22
  • 05-17-2007 21:28 In reply to

    Re: Pregunta sobre el ejemplo "Cliente Chat"

    Hola Lluis,

       No lo he pasado a VB, pero el fallo que me comentas tiene pinta de ser debido a que el nombre que referencias para el servicio dentro del app.config no coincide con el nombre de clase que lo implementa (incluyendo el namespace)... lo has revisado bien?. Te lo digo porque a mi alguna vez me ha dado ese error y siempre ha sido por eso (claro que, repito, era en C#, pero vamos... es sospechosillo :) )

    Salvador de la Rosa
    • Post Points: 5
  • 05-18-2007 12:26 In reply to

    • Lluis
    • Top 10 Contributor
    • Joined on 03-30-2007
    • Posts 16
    • Points 267

    Re: Pregunta sobre el ejemplo "Cliente Chat"

    Sería interesante el poder disponer un apartado donde poder subir código al portal ya que como comenta Juanra, ha podido implementar el ejemplo en VB, pero no lo puede compartir con el resto debido a que dicha funcionalidad no existe en el portal. Sería interesante el dispone una posibilidad de poder alojar pequeños fichero en extensión "zip" o "rar" en los mismos "posts" y así no mezclar los ejemplos que se ubican en el apartado "Downloads".

    Yo, por mi parte, y en referencia a la linea de comentario abierta, espero que Juanra pueda compartir su "traducción" a VB para poder comparar con lo que he hecho yo y saber donde me he equivocado.

    Un saludo.

     

    Lluis.

    • Post Points: 22
  • 05-18-2007 23:57 In reply to

    Re: Pregunta sobre el ejemplo "Cliente Chat"

    Hola Lluis,

    He habilitado el attachment de ficheros en los foros, en este post lo explico.

    Saludos.

    Jose Fco Bonnin
    -----------------------
    Coordinador Baleares on .NET
    www.josefcobonnin.com
    • Post Points: 22
  • 05-19-2007 9:06 In reply to

    • Lluis
    • Top 10 Contributor
    • Joined on 03-30-2007
    • Posts 16
    • Points 267

    Re: Pregunta sobre el ejemplo "Cliente Chat"

    Bueno, ahora que el Sr. Bonnin nos ha habilitado la posibilidad de "attacment" de pequeños archivo, adjunto al presente post la traducción a VB efectuada del ejemplo 2 de la presentación WCF de Savador de la Rosa. Como ya comenté con anterioridad no soy muy hábil en esto de la programación y si alguién revisa el código hay errores. Sería de suma amabilidad si alguien indicase donde se hallan éstos y como solucionarlos.

    Por cierto, aunque la extensión del archivo pone "zip" hay que renombrarla a "rar" y descomprimirla con Winrar.

    Un saludo.

     

    Lluis

    • Post Points: 22
  • 05-22-2007 14:34 In reply to

    Re: Pregunta sobre el ejemplo "Cliente Chat"

    Hola Lluis,

    Casi lo tenías listo, pero hay un par de errores/mejoras que te comento a continuación.

    El método Main de la clase Program no puede ser privado, tiene que ser accesible para que pueda compilar.

    Además fíjate que no estás cerrando el host una vez que cierras la aplicación, con lo que fuerzas a que el GC collector llame al finalizer de la clase, lo cual tiene un coste de rendimiento ya que no podrá liberar la memoria hasta que haga el GC haga el collect de la siguiente generación. En el ejemplo que puso Salva hacía, un "using (ServiceHost host = new ...." el cual, automáticamente al salir del ámbito llama al método Dispose, que equivaldría a llamar al método Close. VB no tiene nada equivalente a la declaración "using", con lo cual deberías hacer un Try Finally, algo parecido a:

    1 Dim host As ServiceHost = New ServiceHost(GetType(MiServicio.ServicioChat)) 2 Console.WriteLine("Arrancando servicio de chat...") 3 Try 4 host.Open() 5 Console.WriteLine("El servicio est? listo para recibir llamadas. Pulse una tecla para cerrar.") 6 Console.ReadKey() 7 Finally 8 Console.WriteLine("Cerrando servicio de chat...") 9 host.Close() 10 End Try

    En la configuración tienes puesto que el nombre del servicio es "MiServicio.ServicioChat". El namespace no es correcto, el compilador de visual basic por defecto le añade como namespace root el nombre del proyecto, en tu caso sería "ServicioChatVB.MiServicio.ServicioChat". Puedes cambiarlo en las propiedades del proyecto, en la opción "Root Namespace". Lo mismo ocurre en la configuración del endpoint, el contract correcto es "ServicioChatVB.MiServicio.IServicioChat".

    En la clase ServicioChat también hay un error, la clase no está implementando el interface "IServicioChat" que es el que se utiliza como contract. Deberías implementarlo tanto en la clase como en cada método, a continuación puedes ver como hacerlo:
     Public Class ServicioChat Implements IServicioChat
     Public Function RegistraUsuario(ByVal nombre As String) As Integer Implements IServicioChat.RegistraUsuario
     Public Sub Chat(ByVal nombre As String, ByVal mensaje As String) Implements IServicioChat.Chat

    Con esto debería ser suficiente, espero haberte sido de ayuda.

    Jose Fco Bonnin
    -----------------------
    Coordinador Baleares on .NET
    www.josefcobonnin.com
    • Post Points: 22
  • 05-22-2007 21:30 In reply to

    • Lluis
    • Top 10 Contributor
    • Joined on 03-30-2007
    • Posts 16
    • Points 267

    Re: Pregunta sobre el ejemplo "Cliente Chat"

    Pues tal como apuntas, efectivamente me ha sido de gran ayuda, pues aparte de la aportación efectuada por Juanra, la efectuada por ti me ha enseñado algo que no había tenido ocasión de aprender: la implementación de interfaces. Como ya apunté con anterioridad soy bastante novato en esto de la programación y estoy aprendiendo, que por otra parte es lo que se persigue en este portal.

    Así, después de tus apuntes y el ejemplo aportado por Juanra, he logrado hacer funcionar el servicio de chat. Tan solo me queda hacer lo mismo con el cliente chat y ya estoy manos a la obra. Si surge alguna duda, pues la expondré para su análisis por parte de los partcipantes en este proyecto.

    Parece que con esto de empezar a exponer dudas, se ha empezado a impulsar este portal y, gracias claro, a aquellos que dominais bastante esto de la programación en .NET hace posible que los aprendices avancemos en nuestro aprendizaje.

    Un saludo

    Lluis

    Filed under:
    • Post Points: 5
  • 09-13-2007 19:50 In reply to

    • Nebire
    • Top 25 Contributor
    • Joined on 09-13-2007
    • Posts 5
    • Points 76

    Re: Pregunta sobre el ejemplo "Cliente Chat"

     

    Después de descargar el fichero que subió Luis para hechar un vistazo al código y ver si lo modifico de alguna manera, me encuentro con que no me admite un import, concretamente el  ServiceModel  que desciende de System agradecería que alguien me dijera en que archivo se encuentra, o que me falta...
    • Post Points: 22
  • 09-14-2007 16:25 In reply to

    Re: Pregunta sobre el ejemplo "Cliente Chat"

    Hola,

    Tan solo tienes que añadir la referencia al assembly System.ServiceModel, recuerda que forma parte del Framework 3.0.

    Jose Fco Bonnin
    -----------------------
    Coordinador Baleares on .NET
    www.josefcobonnin.com
    • Post Points: 5
Page 1 of 1 (14 items)
Baleares on .NET®
Powered by Community Server (Commercial Edition), by Telligent Systems