Einfacher Plugin -Manager für ASP.NET CORE V2.2
Es bietet eine einfache Möglichkeit, Projekte zu entwickeln, die mit Plugins auf ASP.NET Core v2.2 funktionieren
Verwendung:
Abschnitt 1: Um ein Plugin zu entwickeln, müssen wir zunächst die IModule -Schnittstelle vom MVCCOREPLUGINMANAGER -Projekt implementieren.
Beispiel:
public class TestPluginModule : IModule
{
public string Title
{
get { return "TestPlugin Index Page"; }
}
public string Name
{
get { return Assembly.GetAssembly(GetType()).GetName().Name; }
}
public Version Version
{
get { return new Version(1, 0, 0, 0); }
}
public string EntryControllerName
{
get { return "TestPlugin"; }
}
}
Der wichtigste Teil dieser Schnittstelle ist der EntryControllername. Wir geben den Hauptcontroller für dieses Plugin an. Dies ist der Einstiegspunkt des Plugins. Nachdem Sie diesen Controller erstellt haben, können Sie alles definieren, was Sie wollen. Es wird wie im Inneren des Hauptprojekts laufen.
Bereits Core V2.x kompiliert die Ansichten, Sie erhalten zwei DLLs. Wenn Sie keine Ansicht haben, erhalten Sie nur einen.
Abschnitt 2:
Jetzt müssen wir diesen Code dem Hauptprojekt hinzufügen, um den Plugin -Manager einzuschließen:
[Assembly: HostingStartup (Typof (PluginManagerHostingStartup)]]]]]]
Einfach können wir innerhalb von Program.cs oder Startup.cs hinzufügen
Außerdem müssen wir unser Programm ändern.
public static async Task Main(string[] args)
{
await ApplicationManager.RunAsync(CreateWebHostBuilder, args);
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args)
{
return WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>();
}
Wir tun dies, weil nach jedem hinzugefügten oder entfernten Plugin die Anwendung neu gestartet werden sollte. Mit diesem Code startet er automatisch neu.
Wenn wir den Code nicht ändern, stoppt die Anwendung nach einem Plugin -Änderungsvorgang und wenn wir eine Anfrage durchführen, werden wir eine Fehlerseite angezeigt.
Abschnitt 3:
Jetzt ist es Zeit, das Plugin auf jeder Seite zu verwenden.
Dazu fordern wir das Plugin mit seinem Namen im Codeblock der Ansicht an und fügen dann den HTML -Block hinzu
@{
var testPluginModule = PluginManager.GetModule("Plugins.TestPlugin"); // Your plugin assembly name without extension.
}
@if (testPluginModule != null)
{
@Html.ActionLink(testPluginModule.Title, "Index", testPluginModule.EntryControllerName)
}
Bei Code müssen wir nur diese tun.
Abschnitt 4:
Schließlich können wir Plugins hinzufügen oder entfernen. Nur Sie müssen dies tun, indem Sie Baugruppen im Plugins -Ordner hinzufügen oder daraus entfernen. Der Plugins -Ordner befindet sich auf der Wurzel des Projekts.
Wenn Sie möchten, können Sie Plugins in ihren eigenen Ordnern hinzufügen. Mit diesem Weg kann Ihr Code organisierter sein ...
Denken Sie daran, die Schreibberechtigung für Plugins -Ordner zu geben!
Außerdem können Sie sich das Beispiel unter https://test3.bilalafsar.com ansehen