Ist es möglich, alle .Net MVC-Komponenten in einer .Net Web Api-Anwendung zu entfernen, damit ich AngularJS als Frontend verwenden kann?

8

Ich erstelle eine Anwendung mit einem .Net Web Api-Projekt, das reines AngularJS als Client-Seite verwenden möchte. Da Web Api auf MVC basiert, erstellt es MVC-spezifische und Standard-Elemente, die meiner Meinung nach nicht benötigt werden. Diese Elemente enthalten den HomeController, _ViewStart.cshtml, _layout.cshtml usw. Ich habe versucht, sie zu entfernen, aber es kommt mit Fehlern. Hat jemand versucht, die MVC-Zeug aus dem Web-API-Projekt zu entfernen und separate Client-Front-End verwendet? Ist es sogar möglich, die MVC-Elemente ohne Fehler zu entfernen?

    
Larbear 15.04.2014, 18:49
quelle

3 Antworten

12

Entfernen Sie RouteConfig.cs aus App_Start, entfernen Sie das Verzeichnis Views und alle Unterverzeichnisse einschließlich der internen webs.config-Datei Views. Kommentieren oder löschen Sie alle Zeilen in der Global.asax.cs Application_Start-Methode außer GlobalConfiguration.Configure (WebApiConfig.Register). Entfernen Sie den HomeController, fügen Sie eine index.html und alle benötigten Angular-Skripte hinzu und gehen Sie darauf zu. Ich habe auch Lösungsordner hinzugefügt, um meine Ansichten zu organisieren, da die vorhandenen Ansichten-Ordner nicht wiederverwendet werden konnten. Ich benutze VS 2015, sollte aber auch für 2013 arbeiten. PWE

    
Paul Edlund 31.12.2015 19:59
quelle
5

Web-API ist nicht auf MVC aufgebaut.

Die Standardvorlagen bringen MVC ein, um eine Hilfeseite zu unterstützen, aber Sie müssen sie nicht verwenden.

Sie können mit einem leeren Webprojekt beginnen und einfach die Web API überprüfen.

Das Routing-Stück ist Server-Routing und es ist Teil dessen, was die URL zu Controllers + Actions zuordnet, es hat nichts mit Angular Routing zu tun.

    
Yishai Galatzer 16.04.2014 00:30
quelle
1

Wie Mike Cheel schon angedeutet hat, gibt es keine Abhängigkeiten zwischen MVC und Web API. Wenn Sie jedoch die integrierten Vorlagen verwenden, können Sie leicht den Eindruck gewinnen, dass die beiden verknüpft sind. Sie enthalten eine Menge Zeug in diesen Vorlagen, da sie nicht voraussehen können, wohin Sie mit Ihrem Projekt gehen wollen ... also versuchen sie, alle Grundlagen abzudecken.

Für Ihre Zwecke wäre es wahrscheinlich besser, wenn Sie mit einem leeren Projekt beginnen und nur die Komponenten hinzufügen, die Sie tatsächlich benötigen. Einige der besten Tutorials und Starter-Projekte stammen aus dem Blog "Bit of Technology" von Taiseer Joudeh. Seine Tutorials halfen mir dabei, eine "MVC Free" -Webanwendung von Grund auf neu zu erstellen, die JSON Web Tokens und AngularJS Interceptors für Sicherheit und Web API 2 und Entity Framework für die Bereitstellung der Daten verwendet.

Er hat viele Tutorials auf seiner Website ... aber vielleicht möchtest du mit " AngularJS-Token-Authentifizierung mit ASP.NET Web API 2, Owin und Identity ". Was, was ... du hast nicht nach Sicherheit gefragt? Nun ... Sicherheit ist ein Problem, das Sie irgendwann einmal konfrontieren müssen ... und Taiseer stellt eine gute Lösung zur Sicherung einer Angular / Web API-Anwendung vor.

    
MichaelBarce 30.04.2015 14:02
quelle