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.

1
james 28 Dez. 2015 im 20:14

2 Antworten

Beste Antwort

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.

5
Darin Dimitrov 28 Dez. 2015 im 17:16

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:

  1. MVC 6-Anwendung erstellen und verwenden Sie dnx als Selbsthost
  2. Nutzen Sie IIS 7 Hostable Web Core, falls Ihre Anwendung nur unter Windows Vista + funktioniert
  3. 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.

1
Community 23 Mai 2017 im 12:34