2011-12-15 10 views
14

Me gusta mucho lo que he visto con respecto a MvcMiniProfiler. Me encantaría usar las funciones de supervisión de SQL en aplicaciones que no sean web (servicios de Windows, pruebas de unidad, etc.). ¿Es esto posible o requiere un entorno HTTP? La diferencia obvia sería la entrega de resultados, pero si puedo serializar los resultados a JSON o algo así, estaría bien.¿Necesita MvcMiniProfiler una aplicación web para funcionar, o puede usarse en bibliotecas puras, como en pruebas unitarias?

Inventé una prueba simple de unidad tratando de hacer que funcione, pero MiniProfiler.Current parece ser siempre nulo, incluso después de ejecutar MiniProfiler.Start().

¿Estoy ladrando el árbol equivocado aquí?

Respuesta

12

Excelente pregunta. El núcleo (la instancia del generador de perfiles y los contenedores de conexión) no están vinculados a http. Si puedes crear tu propia instancia, todo debería funcionar. Sin embargo, todo el código de la interfaz de usuario está orientado a aplicaciones web.

Sé de gente que lo usa en WPF, winforms, etc., así que debería funcionar bien. Sin embargo, también necesitaría descubrir una "unidad de cosa lógica para mí medida". En una aplicación web es obvio: una solicitud.

Tenga en cuenta que MiniProfiler.Current es puramente una comodidad (podría poner una instancia en cualquier lugar), pero estoy bastante seguro de que hicimos posible crear su propia abstracción (en lugar de http context).

(va a comprobar el código)

ah sí, aquí vamos:

public static MiniProfiler Current 
{ 
    get 
    { 
    MiniProfiler.Settings.EnsureProfilerProvider(); 
    return MiniProfiler.Settings.ProfilerProvider.GetCurrentProfiler(); 
    } 
} 

por lo que puede proporcionar su propia ProfileProvider y luego .Current debería funcionar.

+0

Más excelente. Ahora veo que no es hasta WebRequestProfilerProvider que vemos una referencia al Contexto HTTP, y eso está debajo de algunas abstracciones parentales que no hacen suposiciones de HTTP. ¡Gracias! – CoolUserName

Cuestiones relacionadas