2017-02-28 4 views
1

Unsere Hosting-Abteilung ist nicht bereit, ASP.NET-Core-Hosting mit Kestrel läuft oder sogar die Installation der ASP.NET Core Server Hosting Bundle (AspNetCoreModule).Hosting von ASP.NET Core in IIS ohne Kestrel

Gibt es eine Alternative, ASP.NET-Kern in dieser Situation zu ermöglichen?

Umgebung: Windows Server 2012 R2 mit neuesten IIS und .NET 4.6.2.

Es ist eine Shared Hosting-Umgebung und die Anwendung (en) müssen in IIS ausgeführt werden.

Antwort

0

Ja, Sie könnten WebListener Webserver anstelle von Kestrel verwenden. WebListener funktioniert nur auf der Windows-Plattform, aber da Sie dort ausgeführt werden, ist dies eine Option für Sie.

WebListener ist jedoch nicht auf IIS als Reverseproxy angewiesen, in der Tat WebListener kann nicht mit IIS oder IIS Express verwendet werden, da es nicht mit ASP.NET Core Module kompatibel ist. Aber es gibt Ihnen eine Option für Kestrel zum Hosten von ASP.NET Core unter Windows.

Sie können mehr darüber erfahren hier: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/weblistener

Wenn Sie in IIS hosten müssen und Sie nicht wollen, Kestrel verwenden und Sie auf Windows laufen, dann gibt es keine Optionen. Unter Windows hosten Sie entweder mit WebListener ohne IIS oder Sie hosten mit Kestrel über IIS als Reverseproxy. Das sind Ihre einzigen zwei Optionen, die derzeit unter Windows verfügbar sind.

+0

Offenbar möchte das OP seine Core-Anwendung als Webanwendung in einer Shared Hosting-Umgebung bereitstellen. Sie haben keine Kontrolle über den Webserver. Sie können nicht nur eine Konsolenanwendung bereitstellen, die sich selbst an Port 80 bindet. – CodeCaster

+0

ja CodeCaster hat Recht, ich habe diese Informationen verpasst, aber es muss in IIS Shared Hosting enthalten sein – DavWEB

+0

Nun, ich denke, wir müssen bei ASP.NET bleiben Kern für jetzt .. – DavWEB

5

Sie können ASP.NET Core tatsächlich in IIS innerhalb des Worker-Prozesses ausführen (also das ASP.NET Core Module nicht verwenden), indem Sie OWIN verwenden.

Dies ist möglich aufgrund der Tatsache, dass ASP.NET Core can be hosted on an OWIN server und IIS can be made an OWIN Server.

Werfen Sie einen Blick auf die folgende OWIN-Middleware, die zeigt, wie ASP.NET Core auf IIS ausgeführt wird. Ein vollständigeres Beispiel finden Sie in der folgenden Liste: https://gist.github.com/oliverhanappi/3720641004576c90407eb3803490d1ce.

+1

Ich konnte dies erfolgreich durchführen, aber ich musste den Inhaltstyp auf "" setzen, damit AspNetCore nicht durcheinander kam und eine 406 mit dem Text/html zurückgab, auf den die owin-Implementierung standardmäßig gesetzt war. –

Verwandte Themen