zoukankan      html  css  js  c++  java
  • .net C# 对虚拟目录IIS的操作

    一、查看虚拟目录是否存在 
    private bool IsExitesVirtualDir(string virtualdirname) 
    { 
       bool exited =false; 
       DirectoryEntry _entry = new DirectoryEntry("IIS://localhost/W3SVC/1/Root"); 
       DirectoryEntries _entries = _entry.Children; 
       foreach(DirectoryEntry _cen in _entries) 
       { 
        if(_cen.Name == virtualdirname) 
         exited = true; 
       } 
       return exited; 
    } 
    其中virtualdirpath指要建立的虚拟目录名称; 

    二、新增虚拟目录 
    private void CreateVirtualDir(string virtualdirname,string logicDir) 
    { 
       if(IsExitesVirtualDir(virtualdirname)) 
            DeleteVirtualDir(virtualdirname); 

       DirectoryEntry _rootEntry ; 
       _rootEntry = new DirectoryEntry("IIS://localhost/W3SVC/1/root"); 
       DirectoryEntry _newVirDir; 
       _newVirDir = _rootEntry .Children.Add(virtualdirpath,"IIsWebVirtualDir"); 
       _newVirDir.Invoke("AppCreate",true); 
       _newVirDir.CommitChanges(); 
       _rootEntry .CommitChanges(); 

       _newVirDir.Properties["AnonymousPasswordSync"][0] = true; 
       _newVirDir.Properties["Path"][0] = logicDir + @"virtualdirentryvirtualname"; 
       _newVirDir.CommitChanges(); 
    } 
    _newVirDir.Properties["Path"][0] 的值为虚拟目录对应的物理地址; 

    三、删除虚拟目录 
    private void DeleteVirtualDir(string virtualdirname) 
    { 
       DirectoryEntry _rootEntry ; 
       _rootEntry = new DirectoryEntry("IIS://localhost/W3SVC/1/root"); 
       object[] paras = new object[2]; 
       paras[0] = "IIsVirtualDir"; 
       paras[1] = virtualdirname; 
       _rootEntry .Invoke("Delete",paras); 
       _rootEntry .CommitChanges(); 
    } 

    如果是在B/S模式下的应用可能会遇到操作权限的问题,可根据不同的系统尝试一下方法!

    1,打开web.config,然后在system.web节点中添加一属性 <identity impersonate="true" />
    2,目录的EveryOne权限设为全部。

    3,把aspnet设置成 system 权限

  • 相关阅读:
    建议博客园搭个威客平台,可行的发展方向和盈利方向
    SQLServer DBA 三十问(第11~20题)
    sqlserver2000中nvarchar保存韩文乱码问题解决
    beginning Linux programming读书笔记(2)之shell编程
    IBM打狗问题
    Perl入门笔记2之第二章 标量数据
    linux面试大全
    结构体对齐详解
    Linux下静态链接库与动态链接库的区别
    Perl入门 笔记1之第一章简介
  • 原文地址:https://www.cnblogs.com/yplong/p/3731104.html
Copyright © 2011-2022 走看看