如何使用C#代码删除或更新IIS 7中的虚拟目录

zma*_*man 0 c# iis-7 iis-7.5 c#-4.0

我可以使用Microsoft.web.administration添加具有以下代码的虚拟目录;

app.VirtualDirectories.Add("/ vDir","C:\ inetpub\Ztet");

并且代码有效,但我如何更新或更改此代码或使用代码删除?我想说我想改变虚拟目录名称或路径?

我试过了

app.virtualDirectories.Remove(?? ===失败

还试图用app.VirtualDirectories.Add("/ vDir","C:\ inetpub\Xtet")覆盖; //具有不同的路径但是一旦它已经存在就失败

任何提示都会对如何分配或更改虚拟目标的相关用户名和密码有任何想法吗?

Car*_*res 5

以下是一些示例:

        static void Main(string[] args)
    {
        CreateApp();

        RenameApp();

        EditApp();

        DeleteApp();
    }

    private static void EditApp()
    {
        using (ServerManager mgr = new ServerManager())
        {
            Application app = mgr.Sites["Default Web Site"].Applications["/TestAppNew"];
            VirtualDirectory vdir = app.VirtualDirectories["/"];
            vdir.UserName = "SomeUser";
            vdir.Password = "SomePassword";
            mgr.CommitChanges();
        }
    }

    private static void DeleteApp()
    {
        using (ServerManager mgr = new ServerManager())
        {

            Application app = mgr.Sites["Default Web Site"].Applications["/TestAppNew"];
            mgr.Sites["Default Web Site"].Applications.Remove(app);
            mgr.CommitChanges();
        }
    }

    private static void RenameApp()
    {
        using (ServerManager mgr = new ServerManager())
        {

            Application app = mgr.Sites["Default Web Site"].Applications["/TestApp"];
            app.Path = "/TestAppNew";

            mgr.CommitChanges();
        }
    }

    private static void CreateApp()
    {
        using (ServerManager mgr = new ServerManager())
        {

            mgr.Sites["Default Web Site"].Applications.Add("/TestApp", @"c:\inetpub\wwwroot");

            mgr.CommitChanges();
        }
    }
Run Code Online (Sandbox Code Playgroud)