none
ServiceHost.Singleton RRS feed

  • Pregunta

  • Hola amigos del foro, tengo la siguiente duda, ¿se puede acceder a métodos de la clase servicio, que no hayan sido especificados en el contrato con [OperationContract], desde la aplicación servidor (consola, servicio de Windows, Windows Forms)?. Es decir, ¿se puede instanciar (¿¿ServiceHost.Singleton??) el objeto en el servidor para acceder a otros métodos de ese objeto?

    Muchas gracias por su atención. 
    miércoles, 8 de julio de 2009 15:07

Respuestas

  • Hola si estas preguntando si desde el host como este

    Uri

    baseAddress = new Uri("http://localhost:8080/SumaService");

    ServiceHost host = new ServiceHost(typeof(SumaService.SumaService), baseAddress);

    host.Open();

    Console.WriteLine("Host iniciado");

    Console.ReadLine();

    host.Close();

    Puedes acceder a las operaciones del servicio, la respuesta es no, debes de instanciar la clase y llamar al metodo como si fuese normal


    Oscar Avarez Guerras - Arquitecto Software en I3B (I+D+I) Blog:http://geeks.ms/blogs/oalvarez Por favor marca como respuesta si te ha ayudado esta respuesta
    • Marcado como respuesta jpgr miércoles, 8 de julio de 2009 22:24
    miércoles, 8 de julio de 2009 19:03

Todas las respuestas

  • Hola si estas preguntando si desde el host como este

    Uri

    baseAddress = new Uri("http://localhost:8080/SumaService");

    ServiceHost host = new ServiceHost(typeof(SumaService.SumaService), baseAddress);

    host.Open();

    Console.WriteLine("Host iniciado");

    Console.ReadLine();

    host.Close();

    Puedes acceder a las operaciones del servicio, la respuesta es no, debes de instanciar la clase y llamar al metodo como si fuese normal


    Oscar Avarez Guerras - Arquitecto Software en I3B (I+D+I) Blog:http://geeks.ms/blogs/oalvarez Por favor marca como respuesta si te ha ayudado esta respuesta
    • Marcado como respuesta jpgr miércoles, 8 de julio de 2009 22:24
    miércoles, 8 de julio de 2009 19:03
  • Gracias bialguos por la respuesta, me lo temía.

    Había intentado hacer algo como esto:

    SumaService.SumaService obj = (SumaService.SumaService) host.SingletonInstance;

    Y con el objeto obj tengo acceso a los métodos de la clase, pero tenía esperanzas de que esos métodos fueran los de la misma instancia del objeto proxy que usa el cliente.

    Gracias por todo en cualquier caso. Un abrazo.
    miércoles, 8 de julio de 2009 22:24