【发布时间】:2012-09-06 14:09:08
【问题描述】:
我正在使用 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吗?
【问题讨论】:
标签: c# asp.net iis directoryservices virtual-directory