Ich schreibe eine Konsolenanwendung, auf die ich das MVC-Muster anwenden möchte. Da ASP.net MVC bereits ein ausgereiftes Framework ist, frage ich mich, ob ich es für meine Konsolenanwendung verwenden kann, anstatt das Rad neu zu erfinden.
Kann ich beispielsweise von Microsoft.AspNet.Mvc.Controller erben, um meine eigene Controller-Klasse abzuleiten?
Ich habe bei Google recherchiert, konnte jedoch nichts Spezielles für diese Frage finden.
2 Antworten
Ich schreibe eine Konsolenanwendung, auf die ich das MVC-Muster anwenden möchte. Da ASP.net MVC bereits ein ausgereiftes Framework ist, frage ich mich, ob ich es für meine Konsolenanwendung verwenden kann, anstatt das Rad neu zu erfinden.
Nein, du willst lieber nicht. ASP.NET MVC wurde für das Web und das HTTP-Protokoll entwickelt.
Kann ich beispielsweise von Microsoft.AspNet.Mvc.Controller erben, um meine eigene Controller-Klasse abzuleiten?
Sie können erben, aber es wäre ein völliger Overkill, eine Hosting-Umgebung dafür zu schreiben, die die HTTP-Welt simuliert, für die dies entwickelt wurde.
Das Schreiben einer ASP.NET MVC-Konsolenanwendung bedeutet, dass Sie sich selbst hosten, anstatt sie auf einem Webserver wie IIS zu hosten. Es ist möglich, aber nicht trivial. Es gibt mehrere Möglichkeiten:
- MVC 6-Anwendung erstellen und verwenden Sie dnx als Selbsthost
- Nutzen Sie IIS 7 Hostable Web Core, falls Ihre Anwendung nur unter Windows Vista + funktioniert
- Schreiben Sie mit NancyFx oder einem ähnlichen Framework
EDIT: Anscheinend habe ich die Frage falsch verstanden: Nein, es macht keinen Sinn, das MVC-Framework in anderen Fällen als Webanwendungen zu verwenden, die über http arbeiten. Aber ich werde diese Antwort hinterlassen, falls jemand sie öffnet, wenn ich nach dieser Frage suche.
Neue Fragen
c#
C # (ausgesprochen "siehe scharf") ist eine statische Typisierungsprogrammiersprache mit mehreren Paradigmen, die von Microsoft entwickelt wurde. C # -Code zielt normalerweise auf die .NET-Tools und -Laufzeiten von Microsoft ab, zu denen unter anderem .NET Framework, .NET Core und Xamarin gehören. Verwenden Sie dieses Tag für Fragen zu Code, der in der formalen Spezifikation von C # oder C # geschrieben ist.