1

我来自桌面应用程序世界(WPF、WinForms),惯例是将您的 exe 部署到\Program Files[ (x86)]\CompanyName\AppName\目录,并将所有数据存储在\Program Data\CompanyName\AppName\目录中。

在桌面(而非服务器)PC 上部署 Asp.NET Core Web 服务的相应约定是什么? Program Files目录似乎不是一个好主意,因为它需要管理员凭据才能编写,这是您尝试发布应用程序时遇到的问题。另一方面,虽然Program Data没有权限问题,但感觉不对,因为没有对应的Program Files位置。

C:\intepub\wwwroot\web-service-name当涉及 IIS 时,我也看到过使用。这是要走的路吗?我猜想在 IIS 后面的 Kestrel 中运行 Asp.Net Core 应用程序作为反向代理是有意义的,但是如果我将我的应用程序托管在 Windows 服务中呢?

4

1 回答 1

1

有很多最终用户和企业应用程序部署为带有嵌入式 Web 应用程序(使用 Apache、tomcat..etc)的 Windows 服务Program Files,例如:HPE 服务器管理/配置工具。

所以对于 Kestrel APP,我会部署 binProgram Files并在Program Data. 它可以在没有权限问题的情况下工作,因为dotnet二进制文件具有所需的权限。

于 2017-10-18T02:48:19.003 回答