Pergunta

Hi All

Eu quero perguntar, como usar bloco de aplicação de injeção política para log de entrada métodos e sair nestes casos:

Case1: em caso de registro de eventos manipuladores de um controles de formulário web, você sabe a classe digamos _Default deve ser herdada de classe System.Web.UI.Page , por isso não podemos herdar a nossa classe de MarshalByRefObject classe para o registo não vai funcionar.

Case2: no caso, temos um estática classe e temos que registrar os métodos dentro, o que podemos fazer para herdar essa classe de MarshalByRefObject calss, a fim de obter trabalhos de registo.

Foi útil?

Solução

Parece-me que eles têm algumas exigências estúpidas para ser capaz de aplicar o registo ... Esta pode ser uma offtopic, mas que você pode querer olhar para quadro Spring.AOP para aplicar o log para seus objetos sem a necessidade de herdar de MarshalByRefObject. (Em várias-amputado-de herança línguas é um requisito irritante e drástica eu acho).

Outras dicas

No que diz respeito Caso 1, bloco de injeção política é capaz de agir sobre objetos para os quais você tem uma interface. Fácil o suficiente para fazer no Visual Studio usando a Refactor-> Extrato de ação Interface, se você não escrever com interfaces em mente já.

No que diz respeito Caso 2, sua classe "estático" pode não ser realmente uma classe estática. Ele poderia herdar de MarshalByRefObject ou implementar uma interface que você especificar. Ele poderia, então, ter um construtor privado e uma instância singleton que você política de injetar. Todos os seus métodos estáticos só iria chamar correspondente métodos de instância (com injecção de políticas) na instância singleton da classe.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top