Buenisimo!
Supuse que alguien me iba a refutar eso, pero es bueno saberlo, gracias!
Anyway, WCF llama al constructor de los servicios (al menos en la mayoria
de las configuraciones)
Saludos!,
Diego
On Oct 16, 2009 8:27am, Diego Cepero <[email protected]> wrote:
Hola Diego,
En realidad sí se puede
instanciar una clase sin llamar a ningún constructor, usando:
System.Runtime.Serialization.FormatterServices.GetUninitializedObject(type)
Creo haber leído por ahí que WCF lo usa, pero según recuerdo para
deserializar
los objetos adornados de un DataContract… no para instanciar los
servicios.
Saludos.
De:
[email protected] [mailto:[email protected]] En nombre de
Diego Jancic
Enviado el: Viernes, 16 de Octubre
de 2009 12:59 am
Para: Diego Cepero
Asunto: [arquitectura] Dudas con
WCF
Hola,
Use muy poco WCF, pero
igual respondo como si supiese:
1- Obvio! ;-). No se puede
instanciar una clase sin llamar a ningun constructor. La pregunta es
cuando se
ejecuta en realidad, y la respuesta es que depende de cómo este
configurado
(ver http://msdn.microsoft.com/en-us/library/ms752230.aspx)
… incluso en el ejemplo hace uso del constructor para contar la cantidad
de instancias..
2- Lo use, pero no con las
mismas configuraciones que vos… Igual, WCF funciona en un contexto
bastante separado de tu app y no conozco bien los detalles… Para tirarme
a la pileta con una solucion, cosa que me gusta hacer, te diría que
pongas en
tu servicio:
using (var s = new StreamWriter(“C:\\test.txt”)
{
s.WriteLine(Environment.CurrentDirectory);
}
Se me ocurre que vas a ver
en el archivo c:\windows\..., que te va dar la pista de que el archivo de
configuración no lo está levantando..
Si eso no es, podes debuggear:
Si abris la app en debug, y
miras la ventana de Output en VS va a estar el log interno de Log4net,
eso ya
te debería dar mucha info… principalmente fijate si levanta el archivo de
configuración (y los loggers, repositories, appenders, etc..) o no
encuentra
nada…
Fijate en http://logging.apache.org/log4net/release/faq.html
donde dice “How do I enable log4net internal debugging?”, para
tener mas debugging si levanta el archivo de configuración…
Espero que te sirva
Saludos!,
Diego
From:
[email protected] [mailto:[email protected]] On Behalf Of
Jose Selesan
Sent: Thursday, October 15, 2009
17:55
To: Diego Jancic
Subject: [arquitectura] Dudas con
WCF
Buenas
Gente!. Tengo dos problemas con WCF: tengo una interfaz con el atributo
[ServiceContract] y los correspondientes [OperationContract] y una clase
que
implementa esa interfaz y que por supuesto tiene la lógica de las
operaciones
del servicio. Por otro lado, tengo una aplicación de consola que hace de
host
del servicio. Hasta ahí pareciera andar todo bien. Las dudas que tengo
son:
1.
El constructor de la clase que
implementa la interfaz del contrato del servicio, ¿se ejecuta? ¿O sea
crea una
instancia de otra forma? Pregunto porque tengo código de inicialización
que
pareciera no estar ejecutándose.
2.
¿Alguien usó log4net con WCF? No
se si estoy haciendo bien, pero en el programa que hostea el servicio
hago el
XmlConfigurator.Configure() y loguea algunas cosas que se loguean bien,
pero si
logueo algo dentro del servicio, no loguea. ¿Alguna idea?
Desde
ya, agradecido.
Saludos