Frage

Hallo zusammen

Ich mag fragen, wie die Politik Injektion Anwendungsblock verwenden Methoden Ein- und Ausstieg in diesen Fällen zu protokollieren:

Case1: bei Protokollierung von Ereignissen Handler von einem Web-Formular-Steuerelemente, Sie wissen, die Klasse sagen wir _Default von Klasse geerbt werden müssen System.Web.UI.Page , so können wir unsere Klasse von nicht erben MarshalByRefObject Klasse so Protokollierung wird nicht funktionieren.

Case2: im Falle haben wir eine statisch Klasse und wir müssen die Methoden log in, was wir diese Klasse tun können, um erben von MarshalByRefObject calss, um die Protokollierung Werke zu erhalten.

War es hilfreich?

Lösung

Es klingt für mich wie sie einige dumme Anforderungen müssen in der Lage sein, die Protokollierung anzuwenden ... Dies kann ein offtopic, aber Sie können noch bei Spring.AOP Rahmen aussehen wollen, ohne die Notwendigkeit von MarshalByRefObject erben die Protokollierung, um Ihre Objekte anzuwenden. (In Mehrfachvererbung-amputierten Sprachen ist es eine lästige und drastische Forderung glaube ich).

Andere Tipps

In Bezug auf Fall 1, Politik Injektionsblock auf Objekte, für die Sie eine Schnittstelle handeln kann. Leicht genug in Visual Studio zu tun, indem die Refactor-> Interface extrahieren Aktion verwenden, wenn Sie mit Schnittstellen im Kopf nicht schreiben bereits.

In Bezug auf Fall 2, Ihre „statische“ Klasse kann wirklich nicht eine statische Klasse sein. Es könnte von MarshalByRefObject erben oder eine Schnittstelle implementieren, die Sie angeben. Es könnte dann einen privaten Konstruktor und eine Singleton-Instanz, dass Sie richtlinien einzuspritzen. Alle Ihre statischen Methoden würden entsprechend einfach anrufen (richtlinien injiziert) Instanzmethoden auf die Singleton-Instanz der Klasse.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top