.net ado.net aop castle dynamic-proxy

Usar técnicas AOP para interceptar ADO.Net



castle dynamic-proxy (1)

No. Si está codificando directamente contra tipos de ADO.NET, no puede simplemente decirle a DynamicProxy: "hey, ponga un proxy siempre que use SqlConnection en todos estos archivos DLL". DynamicProxy es un generador de proxy de tiempo de ejecución . Parece que quieres un AOP posterior a la compilación , así que busca en su lugar PostSharp , CciSharp o Afterthought .

EDITAR: si ninguna de esas herramientas es suficiente, podría usar Mono.Cecil para alterar directamente su IL, pero no es fácil. Ver por ejemplo:

Tengo una base de código bastante grande usando una variedad de diferentes tecnologías ADO (es decir, algunas EF y, en algunos casos, usando ADO.Net directamente).

Me pregunto si hay alguna forma de interceptar globalmente cualquier llamada ADO.Net para poder comenzar a auditar información como, sentencias SQL exactas que se ejecutaron, tiempo, resultados devueltos, etc.

La idea principal es que si puedo hacer esto, no debería tener que cambiar ninguno de mis códigos existentes y que debería ser capaz de interceptar / ajustar ADO.Net ... ¿Es esto posible?

EDITAR

Se ha sugerido que investigue PostSharp , CciSharp o Pensamiento posterior , pero ¿cómo utilizo uno de estos para obtener los resultados deseados?