0

例如,有一个使用 dot net core 2.1 编写的应用程序

在 IIS(Windows Server 2016)下发布。在应用程序的根目录(靠近二进制文件 (.dll))正在创建和修改随机文件。这会影响应用程序的性能吗?如果这些文件是在二进制文件旁边的子目录中创建的,会有什么不同吗?

如果我们在 Kestrel 下排除 IIS 和主机,会不会有影响?

据我记得,在托管应用程序时,在 .NET 全框架上编写,在 IIS 下,修改 BIN 目录中的任何文件(例如,文本文件)都会导致 Web 应用程序重新启动。

4

1 回答 1

1

我不知道正在创建和修改哪些文件,至少出于安全原因,我会将它们与应用程序文件分开。说了这么多来回答你的问题。

它不应该影响性能,除非操作量大到会耗尽驱动器或机器的 pc/ram 上的所有 iops。

除非您尝试以某种方式修改 kestrel 用于应用程序的文件,否则 Kestrel 不会受到影响,如果您使用dotnet watch run它将尝试重新编译它们并在主机中运行,否则它将忽略它们的存在,直到主机重新启动。

IIS 也应该忽略它们,但我不知道如果你在 bin 中有这些文件并尝试重新启动主机会发生什么。我尝试更改和添加文件,但没有重新启动。也许 IIS 设置中有一些东西,但由于我没有设置我们的 IIS,所以我在这方面缺乏答案。

于 2019-01-22T09:34:16.663 回答