我正在用C#编写一个Web应用程序部署validation工具。 我需要检查Web Applicatons和Virtual Folders的物理文件夹结构。 这可以在C#中完成吗? 或者更一般地说,通过C#代码与IIS交互?
我发现这个链接,并会读回家。
谢谢。
我强烈建议使用Microsoft.Web.Administration DLL与超级管理员功能与IIS。
serverManager serverManager = new serverManager(); // get the site (eg default) Site site = serverManager.Sites.FirstOrDefault(s => s.Name == "Default Web Site"); // get the application that you are interested in Application myApp = site.Applications["/Dev1"]; // get the physical path of the virtual directory Console.WriteLine(myApp.VirtualDirectories[0].PhysicalPath);
得到:
F:\开发\分行\ DEV1
你可以使用WMI来做这种事情:
使用WMI配置IIS 。
以编程方式管理IIS 。
您可以使用C#中的WMI(谷歌为“WMI C#”)。
所以,是的,这是可能的。
看看HttpRequest对象。 您可以使用HttpContext.Current.Request.Url获取当前的URL。
如果你想检查一个虚拟的IIS文件夹是否存在,你可以尝试对你期望存在的相对URL进行一次server.MapPath调用(你也可以在HttpContext对象中找到它),如果映射不成功,你可以假定您的相对路径指定的特定子文件夹不存在。
希望这可以帮助。