.net对虚拟目录的操作
一、查看虛擬目錄是否存在?
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?+?@"virtualdirentry\virtualname\";?
???_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?權限
轉載于:https://www.cnblogs.com/zgqys1980/archive/2009/03/24/1420588.html
總結
以上是生活随笔為你收集整理的.net对虚拟目录的操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 推荐一个MDI模式的远程桌面管理程序
- 下一篇: 测试拨棵