[英]Creating virtual directories in sub directories in IIS 6.0 (programmatically)
[英]IIS 6.0 programmatically - Problem creating virtual directories AND not setting it as a Application
所以我在程序上在IIS 6.0中創建一個虛擬目錄,但我正在關注創建虛擬目錄的唯一MSDN(或其他)文檔,但是我在的文檔
http://msdn.microsoft.com/en-us/library/ms525598(VS.90).aspx
導致我的虛擬目錄成為IIS中的應用程序。 我試圖使用配置數據庫屬性頁面:
但是在選項的海洋中,我不確定我需要設置哪些屬性來嚴格地將其規定為虛擬目錄:
DirectoryEntries vdirs = site.Children;
DirectoryEntry newVDir = vdirs.Add(vDirName, (className.Replace("Service", "VirtualDir")));
newVDir.Properties["Path"][0] = phyPath;
newVDir.Properties["AccessScript"][0] = true;
newVDir.Properties["AppFriendlyName"][0] = vDirName;
newVDir.Properties["AppIsolated"][0] = "0";
newVDir.Properties["AppRoot"][0] = "/LM" + metaBaseFullPath.Substring(metaBaseFullPath.IndexOf("/", ("IIS://".Length)));
newVDir.CommitChanges();
請勿嘗試設置特定於應用程序池的條目。 所以就:
newVDir.Properties["Path"][0] = phyPath;
newVDir.Properties["AccessScript"][0] = true;
newVDir.CommitChanges();
有一段時間沒有這樣做,但我認為就是這樣
%systemroot%\\windows\\system32\\inetsrv
的metabase.xml
文件是您最好的朋友。 如果在IIS MMC中創建虛擬目錄,則可以看到需要設置的必需屬性屬性:
在這里,我創建了一個名為的虛擬目錄myvdir
在現場,這是配置數據庫的配置保存到metabase.xml
:
<IIsWebVirtualDir
Location ="/LM/W3SVC/1/root/myvdir"
AccessFlags="AccessRead | AccessScript"
DirBrowseFlags="DirBrowseShowDate | DirBrowseShowTime |
DirBrowseShowSize | DirBrowseShowExtension |
DirBrowseShowLongDate | EnableDefaultDoc"
Path="D:\websites\myapp\www\myvdir" >
據我所知,你不能通過屬性將IIsWebVirtualDir設置為應用程序(或不是),而是通過調用它上的方法。 在您的情況下,您將不得不調用“AppDelete”。
newVDir.Invoke("AppCreate", 1);
要么
newVDir.Invoke("AppCreate2", new object[] { 0 });
newVDir.Invoke("AppDelete");
有關這些方法及其參數的詳細信息,請參閱ADSI文檔,但您必須將其中的代碼示例轉換為C#語法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.