2016-08-06 29 views
4

Als ASP.NET MVC kam, kündigte Microsoft viele Male an vielen Stellen an, dass es ASP.NET Web Forms nicht ersetzen sollte. Mit anderen Worten, es ist nur eine andere Technologie, die Sie möglicherweise nützlich finden, oder Sie können Web Forms in anderen Szenarien verwenden.Soll Owin/Katana Web-API ersetzen?

Wenn Unternehmen jedoch auf den Markt drängen, können sie keinen Technologiedschungel haben, weil das zu teuer ist. Sie wählen in der Regel eine ausgereifte Technologie, bleiben dabei, bauen darauf auf und erweitern sie und verwenden Elemente darin, um Kosten zu sparen.

Jetzt versuchen wir uns zu entscheiden, von der Web-API nach Owin/Katana zu ziehen. Wir fragen uns nur, ob es in Ordnung ist, dass wir uns zu 100% zu Owin bewegen?

Der Grund, warum ich diese Frage bin gefragt ist, weil wir eine sehr reiche Codebasis für Web-API, einschließlich Streaming, Kompression, Authentifizierung, Normalisierung der UGC, Unterstützung von L18N & L10N und vieles mehr erstellt haben.

Wenn wir zu Owin wechseln möchten, müssen wir diese Einrichtungen/Dienstprogramme für Owin erneut erstellen, da sich seine Architektur von der Web-API unterscheidet.

Wir wollen zu Owin wechseln, weil es schneller, leichter, selbst gehosteter Server ist und die Zukunft der Servicetechnologien von Microsoft zu sein scheint.

Ist es für uns sicher, dass wir vollständig zu Owin wechseln und uns eine Zukunft vorstellen, in der alle unsere Services über Owin bereitgestellt werden und wir die Web-API nicht mehr verwenden?

+1

Sie haben das Konzept falsch! Sie sollten "OWIN" mit "Web-Host" vergleichen. – dotctor

+0

Wenn Sie wirklich das Selbsthosting oder Hosting auf verschiedenen Betriebssystemen benötigen, dann versuchen Sie, von 'Web Host' und' IIS' zu einem 'OWIN' basierten Hosting-Mechanismus zu wechseln. – dotctor

Antwort

4

OWIN ist nur eine Spezifikation, nichts mehr. Es beschreibt eine gemeinsame Schnittstelle, die Server und Anwendungen beide verwenden können, so dass Anwendungen nicht eng mit Servern gekoppelt sein müssen.

Katana war der erste Schritt zur Entkopplung von ASP.NET von IIS. Arbeiten Sie an Katana has stopped now, nach der offiziellen Roadmap. Die für Katana entwickelten Ideen und Technologien haben ihren Weg in die nächste Version von ASP.NET (ASP.NET Core) gefunden.

Es macht selten Sinn, Anwendungen auf OWIN selbst zu erstellen, da Sie auf der niedrigsten Abstraktionsebene oberhalb von HTTP arbeiten (im wörtlichen Umgang mit rohen Anfragen und Antworten). Das ist normalerweise nur notwendig, wenn Sie Middlewarekomponenten erstellen, die einen Low-Level-Zugriff benötigen.

Mit anderen Worten: Sie sollten Ihre Anwendung auf OWIN nicht neu erstellen, da Sie viel Zeit damit verbringen würden, alles, was bereits in ASP.NET vorhanden ist, neu zu erfinden.

ASP.NET Core ist die nächste Entwicklung von ASP.NET und Web API. Es hat all die Dinge, die Sie erwähnt haben: Es ist schnell, leicht und kann sich selbst hosten. Wenn Sie Ihre Architektur neu erstellen müssen, tun Sie dies auf ASP.NET Core.

+0

Weitere Details über ASP.NET Core und OWIN in meiner Antwort hier: [Verwendet ASP.NET Core noch OWIN?] (Http://stackoverflow.com/questions/38713134/does-asp-net-core-still-use -owin). –

+1

Kannst du uns auf einen gültigen Link verweisen, der sagt * Katana ist enttäuscht *? –

+1

@SaeedNeamati Sicher, bearbeitet meine Antwort mit mehr Informationen über Katana. Sehen Sie die offizielle Roadmap hier (Arbeit gestoppt nach v3): https://katanaproject.codeplex.com/wikipage?title=roadmap&referringTitle=Home –