IIS AppCreate子目录的错误(0x80020006)
生活随笔
收集整理的這篇文章主要介紹了
IIS AppCreate子目录的错误(0x80020006)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這幾天做了升級用的安裝包,需要在原來的ASP 的虛擬目錄下,再創建一個新的ASPNet 虛擬目錄。上網查了C# iis設定的資料,按照上面一路做下來,還是無法成功過。 代碼只有兩行,如下: DirectoryEntry siteVDir = new DirectoryEntry("IIS://localhost/W3SVC/1/ROOT/原來的項目/AspNet目錄"); siteVDir.Invoke("AppCreate",true); //報Unknown name. (Exception from HRESULT: 0x80020006 (DISP_E_UNKNOWNNAME)) siteVDir.CommitChange();
查了很多資料,都沒有結果。后來發現,如果用IIS,首先把ASPNet目錄Create Application,然后Remove,上面 的代碼就能夠正常。
然后用查看一下siteVDir.SchemaClassName,發現運來是IISObject,msdn上說這個IISObject是沒有方法。
代碼DirectoryEntry?siteVDir?=?new?DirectoryEntry(path);
foreach?(var?site?in?siteVDir.Children)
{
????var?siteV?=?(DirectoryEntry)site;
????if?(siteV.Name?==?"ASPNet目錄")
????{
??????siteV.Properties["AppFriendlyName"].Value?=?"虛擬目錄名";
??????siteV.Invoke("AppCreate",?true);
??????siteV.CommitChanges();
??????break;
????}
}
查了很多資料,都沒有結果。后來發現,如果用IIS,首先把ASPNet目錄Create Application,然后Remove,上面 的代碼就能夠正常。
然后用查看一下siteVDir.SchemaClassName,發現運來是IISObject,msdn上說這個IISObject是沒有方法。
代碼DirectoryEntry?siteVDir?=?new?DirectoryEntry(path);
foreach?(var?site?in?siteVDir.Children)
{
????var?siteV?=?(DirectoryEntry)site;
????if?(siteV.Name?==?"ASPNet目錄")
????{
??????siteV.Properties["AppFriendlyName"].Value?=?"虛擬目錄名";
??????siteV.Invoke("AppCreate",?true);
??????siteV.CommitChanges();
??????break;
????}
}
?
最后的解決辦法是,首先獲取父,然后列舉Children,返現是AspNet目錄就調用 AppCreate。修正后的代碼如下:?
?? ??
?轉載于:https://www.cnblogs.com/fantasylu/archive/2009/08/06/1540159.html
總結
以上是生活随笔為你收集整理的IIS AppCreate子目录的错误(0x80020006)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jsp笔记一
- 下一篇: 警告用户:VoIP电话存在诸多风险