Pregunta

Hola a todos

Quiero preguntar cómo usar el bloque de aplicación de inyección de políticas para registrar métodos de entrada y salida en estos casos:

Caso1: en caso de registrar controladores de eventos de un formulario web, usted sabe que la clase, digamos, _Default debe heredarse de la clase System.Web.UI.Page , por lo que no podemos heredar nuestra clase de la clase MarshalByRefObject , por lo que el registro no funcionará.

Caso2: en caso de que tengamos una clase estática y tengamos que registrar los métodos, qué podemos hacer para heredar esta clase de MarshalByRefObject calss, para que el registro funcione.

¿Fue útil?

Solución

Me parece que tienen algunos requisitos estúpidos para poder aplicar el registro ... Esto puede ser un tema no oficial, pero es posible que desee ver el marco Spring.AOP para aplicar el registro a sus objetos sin la necesidad de heredar de MarshalByRefObject. (Creo que en lenguajes amputados con herencia múltiple es un requisito molesto y drástico).

Otros consejos

Con respecto al caso 1, el bloque de inyección de políticas puede actuar sobre los objetos para los que tiene una interfaz. Es bastante fácil de hacer en Visual Studio mediante el uso de la acción Refactor- > Extract Interface, si aún no escribe con las interfaces en mente.

Con respecto al caso 2, su " estática " clase realmente no podría ser una clase estática. Podría heredar de MarshalByRefObject o implementar una interfaz que especifique. Entonces podría tener un constructor privado y una instancia de singleton que usted inyecte en la política. Todos sus métodos estáticos simplemente llamarían los métodos de instancia correspondientes (inyectados en la política) en la instancia singleton de la clase.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top