2

Salut tousEnregistrement à l'aide du bloc d'application d'injection politique

Je veux demander, comment utiliser le bloc d'application d'injection politique pour connecter les méthodes d'entrée et de sortie dans ces cas:

Cas1: en cas de journalisation des gestionnaires d'événements d'un contrôle de formulaire Web, vous connaissez la classe disons que _Default doit être hérité de la classe System.Web.UI.Page, donc nous ne pouvons pas hériter de notre classe de MarshalByRefObject alors la journalisation ne fonctionnera pas.

Case2: en cas nous avons une classe statique et nous devons connecter les méthodes au sein, ce que nous pouvons faire pour hériter de cette classe de MarshalByRefObject calss, afin d'obtenir des travaux d'exploitation forestière.

Répondre

1

Il me semble qu'ils ont des exigences stupides pour pouvoir appliquer la journalisation ... Cela peut être un hors-sujet, mais vous pouvez regarder Spring.AOP cadre pour appliquer la journalisation à vos objets sans avoir besoin hériter de MarshalByRefObject. (Dans les langues amputées par héritage multiple, c'est une exigence ennuyante et drastique je pense).

1

En ce qui concerne le cas 1, le bloc d'injection de politique est en mesure d'agir sur les objets pour lesquels vous disposez d'une interface. Assez facile à faire dans Visual Studio en utilisant l'action Refactor-> Extract Interface, si vous n'écrivez pas déjà avec des interfaces.

0

En ce qui concerne le cas 2, votre classe « statique » ne pouvait pas vraiment être une classe statique. Il pourrait hériter de MarshalByRefObject ou implémenter une interface que vous spécifiez. Il pourrait alors avoir un constructeur privé et une instance singleton que vous injecteriez. Toutes vos méthodes statiques appellent simplement des méthodes d'instance correspondantes (injectées par une stratégie) sur l'instance singleton de la classe.

Questions connexes