Laden...

Wie erstelle ich einen BuiltIn Webserver für meine ASP.NET Anwendung?.

Erstellt von hmarius1 vor 4 Jahren Letzter Beitrag vor 4 Jahren 1.459 Views
H
hmarius1 Themenstarter:in
2 Beiträge seit 2020
vor 4 Jahren
Wie erstelle ich einen BuiltIn Webserver für meine ASP.NET Anwendung?.

Hallo zusammen,

ich bin neu in ASP.net und hab meine erste kleine Webanwendung fertig. Bis jetzt habe ich diese mit IIS Express gehostet. Ich möchte für die Webanwendung keinen IIS Installieren.

Wie erstelle ich einen BuiltIn Webserver für meine Anwendung. Leider finde ich dazu immer nur OWIN aber ich verstehe nicht wie ich damit meine Webanwendung Hosten kann.

Ich hoffe hier kann mir jemand helfen.

Vielen Dank schonmal.

16.835 Beiträge seit 2008
vor 4 Jahren

Schau Dir das Tutorial von ASP.NET Core an - da wird auch Kestrel, der eingebaute Webserver erklärt.
https://docs.microsoft.com/de-de/aspnet/core/?view=aspnetcore-3.1

Wenn Du noch die alte ASP.NET (nicht Core) Variante hast: die ist abgekündigt, wird nicht mehr weiter entwickelt und ausser OWIN gibts hier nichts (wirklich).
Technisch ist ASP.NET Core (anders als sein Vorgänger) auch im Prinzip "nur eine Konsoleanwendung".

Auch wenn es technisch prinzipiell möglich ist wird es aber nicht empfohlen Kestrel direkt gegen das Internet zu exposen.

H
hmarius1 Themenstarter:in
2 Beiträge seit 2020
vor 4 Jahren

Hallo,

danke für die schnelle Antwort.
Ja ich habe die ASP.net Version ohne Core benutzt.
Wusste nicht das die veraltet ist.
Meine Webanwendung ist natürlich keine Konsolenanwendung.

Ich habe mir Owin angeschaut. Überall ist aber nur beschrieben wie man eine Konsolenanwendung hostet wie man das alte ASP.net damit Hostet steht nirgends.

16.835 Beiträge seit 2008
vor 4 Jahren

Eine Webanwendung benötigt immer Bindings, sonst kann sie keine HTTP Requests entgegen nehmen.

In der alten Welt hat ASP.NET diese Bindings hart gegen den IIS gehabt, wodurch eben auch Abhängigkeiten mit dem IIS existierten, die dann langsam in Richtung OWIN gewachsen sind.
Trotzdem gab es immer eine große Nähe zum IIS.

Das hat sich mit ASP.NET Core und Kestrel geändert.

Letzten Endes macht es keinen Sinn noch mit der alten Variante weiter zu machen.
Verwende ASP.NET Core.

6.911 Beiträge seit 2009
vor 4 Jahren

Hallo Abt,

wird es aber nicht empfohlen Kestrel direkt gegen das Internet zu exposen

Gilt diese Empfehlung auch noch für .NET Core 3.x?
In Kestrel wurden etliche Server-Features nachgeürstet, so dass er zu einem richtigen Frontend-Server wurde, daher gilt diese Empfehlung imho nicht mehr so streng wie zu Zeiten von .NET Core 2.1 (und früher). Ein paar Einschränkungen gibt es allerdings, siehe Doku, diese sind aber eher Schönheitsfehler.

Ich weiß jedoch nicht ob Kestrel real und praktisch betrachtet direkt dem Internet ausgesetzt werden soll. Vllt. hast du hier bessere Infos als ich.

mfG Gü

Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.

"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"

16.835 Beiträge seit 2008
vor 4 Jahren

Meine Aussage bassiert auf dem Tweet von Barry Dorrans aus 2018.
Laut Produktgruppe (Oktober 2019) hat sich an der Empfehlung nichts geändert.