gpt4 book ai didi

c# - DirectoryEntry IIS 访问权限

转载 作者:可可西里 更新时间:2023-11-01 13:34:35 26 4
gpt4 key购买 nike

我有一个控制台应用程序,它列出了 IIS 中的网站绑定(bind)

using (var directoryEntry = new DirectoryEntry("IIS://localhost/w3svc/" + GetWebSiteId())) {
var bindings = directoryEntry.Properties["ServerBindings"];
}

我通过进程从 ASP.NET 调用这个控制台应用程序

var process = new Process {
StartInfo = new ProcessStartInfo {
FileName = "c:/app.exe",
Arguments = "check",
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
}
};

在 Widows 7/IIS 7.5 下的开发机器上一切正常,但是当我在 Windows 2012/IIS 8 上测试时我收到“访问被拒绝”错误。

错误日志

"System.Runtime.InteropServices.COMException (0x80070005): Access is denied.
at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.get_IsContainer()
at System.DirectoryServices.DirectoryEntries.ChildEnumerator..ctor(DirectoryEntry container)
at System.DirectoryServices.DirectoryEntries.GetEnumerator()
at IISSubdomainManagement.Program.GetWebSiteId()
at IISSubdomainManagement.Program.TotalBindings()
at IISSubdomainManagement.Program.Main(String[] args)"

p.s 应用程序池标识是“ApplicationPoolIdentity”


我忘了说,当我从 CMD 运行我的控制台应用程序时,它在我的服务器上运行良好

最佳答案

您需要授予 IUSR 帐户访问和执行 C:\app.exe 的权限。 This link应为您提供必要的信息以找到正确的帐户。

关于c# - DirectoryEntry IIS 访问权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14348141/

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