MVC: Ausführen einer Methode beim starten der Anwendung, ohne es aus der Application_Start
Habe ich eine Klasse mit einer Methode, die ausgeführt werden soll auf Anwendung startup. Ich will nicht rufen Sie diese Methode auf, die direkt aus der Application_Start-Ereignis. Was ist der beste Weg, um diese Klasse instanziiert und die Methode ausgeführt, auf application_start?
In anderen Worten, ich möchte, um zu injizieren, diesen code in die Anwendungs-Start.
- Darf ich Fragen, warum Sie nicht wollen, rufen Sie code, der ausgeführt werden muss auf die Anwendung starten, in der Application_Start?
- Ich habe eine CMS-Anwendung und mehrere web-sites (mvc-Bereiche) mit diesem CMS. Ich will nicht zu ändern, der application_start des eigentlichen CMS, da kann ich laufen updates des CMS ohne änderung Bereichen. Also die Bereiche haben sollten, einige code, der sich selbst für startup
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe bemerkt, dass einige Menschen nutzen WebActivatorEx.PostApplicationStartMethod. Ich habe keine vertiefte sich in die details, aber es ist der erste Ort, den ich Aussehen würde. Hier ist ein Beispiel für eine Klasse registriert, um automatisch ausgeführt, wenn RegisterBundles genannt wird. Einer der anderen Haken kann das sein, was du suchst.
Ist eine der möglichen Lösungen für die Nutzung OWIN startup.
Installieren Sie nuget-Paket:
install-package Microsoft.Owin.Host.SystemWeb
Hinzufügen, um App-Start Klasse:
Und per Konvention müssen Sie die Klasse mit der Methode genannt-Konfiguration:
Oder tun alles, was Sie brauchen.
Wenn Sie interessante in es, es zu überprüfen asp.net: OWIN und Katana Projekt
Delegaten verwenden. Sie enthalten Verweise auf Methoden und geben Ihnen die Möglichkeit zum Aufruf einiger Methoden, die zu einer Zeit;
Ein Beispiel für die Verwendung von Stellvertretern :
Diese rufen sowohl Method1 und Method2