gpt4 book ai didi

asp.net-core - 什么是最好的... ASP.NET Core 模块 processPath 到 .exe 或 .dll

转载 作者:行者123 更新时间:2023-12-02 02:27:15 25 4
gpt4 key购买 nike

当您发布 Asp.net core 应用程序时,它会生成具有以下配置的 web.config

<aspNetCore processPath=".\MyApplication.exe" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />

您可以使用processPath=".\MyApplication.exe"processPath=".\MyApplication.dll"

有谁知道每种方法的优缺点以及我们何时应该使用哪种方法?

提前谢谢您!

最佳答案

通常,我认为你没有太多选择。据我所知有两种选择:

  • 通过指定 .exe 的路径来运行独立应用程序.
  • 通过指定 dotnet 的路径来运行依赖于框架的应用程序可执行文件并将路径传递给应用程序 DLL。

这也是 the documentation suggests当您从 Visual Studio 或通过 dotnet CLI 发布 ASP.NET Core 应用程序时,会自动发生什么。所以改造后web.config应具有以下配置之一:

<!-- self-contained application -->
<aspNetCore processPath=".\MyApp.exe" … />

<!-- framework-dependent application -->
<aspNetCore processPath="dotnet" arguments=".\MyApp.dll" … />

此处依赖于框架的应用程序配置假设 dotnet可执行文件位于 PATH 环境变量中。否则,您也可以指定它的绝对路径。

我个人从未见过<aspNetCore processPath=".\MyApp.dll" … />如果这有效,我会感到惊讶,因为 IIS 的 ASP.NET Core 托管模块实际上并不具备任何如何启动 .NET Core 应用程序的知识(至少据我所知)。这就是为什么您通常必须指定可执行文件的路径(应用程序的 .exe 本身,或运行时可执行文件)。

至于使用这些选项中的哪一个,这实际上取决于您想要如何运行应用程序。如果您将应用程序发布为独立的,则运行时已包含在内,您这样做是为了独立于可能安装在计算机上的全局运行时。如果您将应用程序发布为依赖于框架的应用程序,则您依赖于计算机上可用的框架(也可以集中更新等)。

关于asp.net-core - 什么是最好的... ASP.NET Core 模块 processPath 到 .exe 或 .dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65468334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com