Ist es möglich, die ASP.NET 5-Site in Azure WebApps direkt auf Kestrel auszuführen?

8

Ich habe in der Web-Antwort überprüft, dass der Server IIS ist, wenn ich ASP.NET5 in der azure-Web-App deploye, also denke ich, dass der IIS-Platform-Handler verwendet wird, um ihn an Kestrel umzuleiten. Ich frage mich also, ob es möglich ist, direkt auf Kestrel zu laufen, und welche Vorteile / Nachteile das haben wird (wahrscheinlich unabhängig davon, ob es in Azure ist oder nicht). Ich nehme an, dass es etwas schneller sein wird, da IIS von der Pipline ausgeschlossen wird, aber es sollte nicht zu viel Overhead sein, nehme ich an ...

    
Ilya Chernomordik 16.12.2015, 12:50
quelle

2 Antworten

8

In Azure Web App können Sie IIS nicht umgehen.

Aber im allgemeinen Fall kannst du Kestrel definitiv direkt laufen lassen. Es ist immerhin dnx web und es ist genau das, was die XPlat-Version (Linux, OSX) (fast) benutzen wird.

Was Sie verlieren, wenn Sie IIS nicht verwenden

  • Sicherheit (neuere Komponente im Vergleich zu IIS)
  • Einfache Einrichtung von SSL
  • Kernel-Modul, das Datei / Cache und andere Dinge handhabt (Kernel = schneller)
  • Anwendungsüberwachung / Keep-Alive (was passiert, wenn Kestrel abstürzt)
  • Mehrere Hostnamen Single-Port (80) Wiederverwendung
  • usw.

Was Sie gewinnen, wenn Sie IIS nicht verwenden

  • Volle Kontrolle über Ihren Prozess
  • Höhere Gesamtleistung
  • Einfachere Installation / Ausführung

Was Sie tun sollten, wenn Sie IIS nicht verwenden

Wenn Sie mit den "verlieren" Punkten einverstanden sind, würde ich immer noch gehen und Ihren Kestrel hinter einem Reverse Proxy oder einem NGINX Server hosten. Kestrel wurde "produktionsfertig" gemacht, aber es ist nicht NGINX oder IIS.

Es wird sich nicht so lebendig halten, wie ich weiß.

Wenn ich etwas verpasst habe, lass es mich wissen.

    
Maxime Rouiller 16.12.2015, 14:11
quelle
6

Ihre Frage ist etwas mehrdeutig, da sie gleichzeitig nach Azure Web Apps und dem allgemeinen Fall fragt. @ Maxime hat den allgemeinen Teil beantwortet, also beantworte ich den Azure Web App Teil.

Es ist nicht möglich, IIS in Azure Web Apps zu umgehen. Stacks, die normalerweise ohne IIS ausgeführt werden, werden normalerweise mit HttpPlatformHandler behandelt (wie bei ASP.NET 5), oder im Fall von Node eine Variante davon (iisnode).

    
David Ebbo 16.12.2015 17:12
quelle