您可以在IIS中托管ServiceStack Web应用程序吗?

问题描述:

我制作了一个ServiceStack Web应用程序,该应用程序使用来自插件的自定义AppHost(类似于示例https://github.com/NetCoreWebApps/WebApp/tree/master/src/apps/chat)。我可以使用dotnet命令按照例子在macOS上运行它。您可以在IIS中托管ServiceStack Web应用程序吗?

我可以在IIS上托管我的服务堆栈Web应用程序吗?我应该采取什么方法?反向代理红隼这样的https://docs.microsoft.com/en-us/aspnet/core/publishing/iis?tabs=aspnetcore2x

或者我需要为两个托管情况有不同的AppHost /启动代码?

或者也许有一个根本原因为什么它永远不会工作?

WebApp is a standard .NET Core 2.0 App因此,您可以像其他任何.NET核心应用程序一样托管它。通常,反向代理除了internal url where the request is proxied to之外不需要任何东西,但它看起来像IIS希望你显式调用.UseIISIntegration()这是一个可能阻止现有WebApp二进制文件的问题,因为它没有调用.NET Core 2.0 WebHost.CreateDefaultBuilder(args),其中包括当.NET Core应用程序托管在IIS/Windows中时,将打开IISIntegration,该应用程序现在从this commit开始执行。

您可以在https://github.com/NetCoreWebApps/Chat项目的/web文件夹中找到更新后的Web App二进制文件。