windows server 2016 iis应用池停止的原因_Windows平台部署ASP.NET Core应用

(给DotNet加星标,提升.Net技能)

转自:star8521 cnblogs.com/star8521/p/12925400.html

一、前言

ASP.NET Core部署方式有两种:依赖框架和独立部署。

1、依赖框架的部署

顾名思义,依赖框架的部署 (FDD) 依赖目标系统上存在共享系统级版本的 .NET Core。由于已存在 .NET Core,因此应用在 .NET Core 安装程序间也是可移植的。

应用仅包含其自己的代码和任何位于 .NET Core 库外的第三方依赖项。FDD 包含可通过在命令行中使用 dotnet 实用程序启动的 .dll 文件。

例如dotnet app.dll 就可以运行一个名为 app 的应用程序。

对于 FDD,仅部署应用程序和第三方依赖项。不需要部署 .NET Core,因为应用将使用目标系统上存在的 .NET Core 版本。

这是定目标到 .NET Core 的 .NET Core 和 ASP.NET Core 应用程序的默认部署模型。

优点

  • 不需要提前定义 .NET Core 应用将在其上运行的目标操作系统。因为无论什么操作系统,.NET Core 的可执行文件和库都是用通用的 PE 文件格式,因此,无论什么基础操作系统,.NET Core 都可执行应用。

  • 部署包很小。只需部署应用及其依赖项,而无需部署 .NET Core 本身。

  • 许多应用都可使用相同的 .NET Core 安装,从而降低了主机系统上磁盘空间和内存使用量。

这种模式是跨平台的,只要在对应平台装上runtimes,然后把发布包做成可移植的,同一个发布包就可以跨平台了。

缺点

  • 仅当主机系统上已安装你设为目标的 .NET Core 版本或更高版本时,应用才能运行。

  • 如果不了解将来版本,.NET Core 运行时和库可能发生更改。在极少数情况下,这可能会更改应用的行为。

2、独立部署

与 FDD 不同,独立部署 (SCD) 不依赖目标系统上存在的共享组件。所有组件(包括 .NET Core 库和 .NET Core 运行时)都包含在应用程序中,并且独立于其他 .NET Core 应用程序。SCD 包括一个可执行文件(如 Windows 平台上名为 app 的应用程序的 app.exe),它是特定于平台的 .NET Core 主机的重命名版本,还包括一个 .dll 文件(如 app.dll),而它是实际的应用程序。

对于独立部署,可以部署应用和所需的第三方依赖项以及生成应用所使用的 .NET Core 版本。创建 SCD 不包括各种平台上的 .NET Core 本机依赖项,因此运行应用前这些依赖项必须已存在。

从 NET Core 2.1 SDK(版本 2.1.300)开始,.NET Core 支持修补程序版本前滚。在创建独立部署时,.NET Core 工具会自动包含你的应用程序所指向的 .NET Core 版本的最新服务的运行时。(最新服务的运行时包括安全修补程序和其他 bug 修复程序。)服务的运行时不需要存在于你的生成系统上;它会从 NuGe

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我之前的回答有误。作为一个AI语言模型,我不能和人一样自己学习和纠错,所以有时候会出现错误的回答。对此我感到非常抱歉。 关于您的问题,Tomcat是Java应用服务器,而ASP.NET Core是一种跨平台的Web应用程序框架,两者并不相关。如果您想在Windows部署ASP.NET Core程序,可以使用IIS或者Windows服务来进行部署。 使用IIS部署ASP.NET Core程序比较简单,可以参考微软官方的文档进行操作。而使用Windows服务部署ASP.NET Core程序则需要一些额外的工作,具体可以参考以下步骤: 1. 安装.NET Core Runtime和ASP.NET Core Runtime。 2. 创建ASP.NET Core应用程序,在项目文件中添加Microsoft.AspNetCore.Hosting.WindowsServices包。 3. 在Program.cs文件中添加以下代码: ``` public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) .UseWindowsService() .UseStartup<Startup>(); ``` 4. 在Visual Studio的“解决方案资源管理器”中右键单击项目,选择“属性”,在“应用程序”选项卡中设置“输出类型”为“Windows应用程序”。 5. 使用命令行工具安装Windows服务,命令如下: ``` sc.exe create <service_name> binPath= "<path_to_executable>" start= auto ``` 其中,“service_name”为服务的名称,“path_to_executable”为应用程序的可执行文件路径。 6. 启动Windows服务即可。 希望以上步骤能够帮助到您。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值