我正在使用 C# 开发基于 Web 的部署工具,该工具在 IIS 7 上远程部署应用程序。
我已经达到了可以部署应用程序的地步。现在我需要在尝试对其设置权限之前查看已部署的应用程序是否具有某个目录(因为该工具将部署可能具有或不具有该文件夹的不同应用程序)。
我采取了两种方法:
我已经检查了我可以在
ServerManager
命名空间下使用的类。我可以使用以下方法处理部署在某个应用程序池下的应用程序:var iis = ServerManager.OpenRemote("serverName")
var iisApplication = iis.Sites[site].Applications["appName"];
.现在我可以使用以下命令获取应用程序下的虚拟目录:
var virtualDirectory = iisApplication.VirtualDirectories;
但是后来我看不到该虚拟目录下的很多文件夹。例如,我的应用程序被部署为测试并
iisApplication.VirtualDirectories.First()
为我提供/test
. 我希望能够在/test/_ApplicationLogs
哪个目录上设置权限。我的下一个方法是使用
DirectoryEntry
. 在这里,我无法找出用于我的应用程序的元数据库路径。是否有用于 IIS 7 的标准元数据库路径?对于称为
test
本地部署的应用程序,元数据库路径是什么?我能得到所有的孩子以便我可以使用DirectoryEntry.Exists
吗?