IIS AppCreate子目录的错误(0x80020006)
生活随笔
收集整理的這篇文章主要介紹了
IIS AppCreate子目录的错误(0x80020006)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
這幾天做了升級(jí)用的安裝包,需要在原來(lái)的ASP 的虛擬目錄下,再創(chuàng)建一個(gè)新的ASPNet 虛擬目錄。上網(wǎng)查了C# iis設(shè)定的資料,按照上面一路做下來(lái),還是無(wú)法成功過(guò)。 代碼只有兩行,如下: DirectoryEntry siteVDir = new DirectoryEntry("IIS://localhost/W3SVC/1/ROOT/原來(lái)的項(xiàng)目/AspNet目錄"); siteVDir.Invoke("AppCreate",true); //報(bào)Unknown name. (Exception from HRESULT: 0x80020006 (DISP_E_UNKNOWNNAME)) siteVDir.CommitChange();
查了很多資料,都沒(méi)有結(jié)果。后來(lái)發(fā)現(xiàn),如果用IIS,首先把ASPNet目錄Create Application,然后Remove,上面 的代碼就能夠正常。
然后用查看一下siteVDir.SchemaClassName,發(fā)現(xiàn)運(yùn)來(lái)是IISObject,msdn上說(shuō)這個(gè)IISObject是沒(méi)有方法。
代碼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;
????}
}
查了很多資料,都沒(méi)有結(jié)果。后來(lái)發(fā)現(xiàn),如果用IIS,首先把ASPNet目錄Create Application,然后Remove,上面 的代碼就能夠正常。
然后用查看一下siteVDir.SchemaClassName,發(fā)現(xiàn)運(yùn)來(lái)是IISObject,msdn上說(shuō)這個(gè)IISObject是沒(méi)有方法。
代碼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,返現(xiàn)是AspNet目錄就調(diào)用 AppCreate。修正后的代碼如下:?
?? ??
?轉(zhuǎn)載于:https://www.cnblogs.com/fantasylu/archive/2009/08/06/1540159.html
總結(jié)
以上是生活随笔為你收集整理的IIS AppCreate子目录的错误(0x80020006)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: jsp笔记一
- 下一篇: 警告用户:VoIP电话存在诸多风险