簡體   English   中英

IIS 6.0以編程方式 - 創建虛擬目錄時出現問題而不將其設置為應用程序

[英]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中的應用程序。 我試圖使用配置數據庫屬性頁面:

http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/cde669f1-5714-4159-af95-f334251c8cbd.mspx?mfr=true

但是在選項的海洋中,我不確定我需要設置哪些屬性來嚴格地將其規定為虛擬目錄:

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\\inetsrvmetabase.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”。

使IIsWebVirtualDir成為一個應用程序......

newVDir.Invoke("AppCreate", 1);

要么

newVDir.Invoke("AppCreate2", new object[] { 0 });

結束一個IIsWebVirtualDir作為一個應用程序......

newVDir.Invoke("AppDelete");

有關這些方法及其參數的詳細信息,請參閱ADSI文檔,但您必須將其中的代碼示例轉換為C#語法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM