在 Microsoft.Web.Administration.ApplicationPool 上调用 stop() 会'NotImplementedException'


System.NotImplementedException: The method or operation is not implemented.
at Microsoft.Web.Administration.Interop.IAppHostMethodInstance.Execute()
at Microsoft.Web.Administration.ConfigurationMethodInstance.Execute()
at Microsoft.Web.Administration.ConfigurationElement.ExecuteMethod(String methodName)
at Microsoft.Web.Administration.ApplicationPool.Stop()
at MyFileManagerService.RemoveWebService(String accountName, Int32 siteId)

我正在通过这些文档:https://learn.microsoft.com/en-us/dotnet/api/microsoft.web.administration.applicationpool.stop?view=iis-dotnet

如果未实现该方法,如何停止应用程序池?

这是一个用 C# 构建的 asp.net 核心 3.1 应用。

编辑:这很奇怪,即使检查AppPool.State也会抛出相同的异常。

该库似乎没有在 .NET Core 中完全实现。相同的代码可能适用于 .NET 4.8。

首先,请确保您通过Microsoft Nuget Manager导入Microsoft.web.administration。

如果要停止 IIS 应用程序池,请将 asp.net 核心应用部署到本地 IIS。否则,它将尝试从 IIS Express 而不是 IIS 加载配置文件。

最后,请尝试将应用程序池标识更改为本地系统。否则,默认 IIS 应用程序池标识将永远无权停止应用程序池。

最新更新