我想在WPF-TreeView控件中顯示IIS配置。 我的操作系統是Windows 8.1,我正在用VS2013編程C#。 所以我加入到Microsoft.Web.Administration.dll的引用,並寫了下列代碼:無法訪問IIS-ServerManager配置
using (ServerManager serverManager = new ServerManager())
{
foreach (var site in serverManager.Sites)
{
var siteNode = new TreeViewItem() { Header = string.Format("Site: {0}", site.Name) };
_irv.trvIisInformation.Items.Add(siteNode);
foreach (var application in site.Applications)
{
var appPoolNode = new TreeViewItem() { Header = string.Format("AppPool: {0}, Type: {1}", application.ApplicationPoolName, HoleApplikationstyp(serverManager, application)) };
siteNode.Items.Add(appPoolNode);
foreach (var virtDir in application.VirtualDirectories)
{
appPoolNode.Items.Add(new TreeViewItem() { Header = string.Format("Dir: {0} [{1}]", virtDir.Path, virtDir.PhysicalPath) });
}
}
}
}
的ServerManager的對象被創建,但是,當我看一看到目標i每例如參見: ApplicationDefaults =「serverManager.ApplicationDefaults」引發了「System.Runtime.InteropServices.COMException」類型的異常。
而當編譯器要啓動的foreach循環與ServerManager的的站點...
System.Runtime.InteropServices.COMException wurde nicht behandelt。 的HResult = -2147221164 消息=模具COM-Klassenfactory獻給死Komponente MIT CLSID {2B72133B-3F5B-4602-8952-803546CE3344} konnte aufgrund DES folgenden Fehlers nicht abgerufen werden:80040154的Klasse nicht registriert(Ausnahme馮HRESULT:0x80040154的(REGDB_E_CLASSNOTREG) )。 源= mscorlib程序 錯誤碼= -2147221164 堆棧跟蹤: 貝System.Runtime.Remoting.RemotingServices.AllocateUninitializedObject(RuntimeType的objectType) 貝System.Runtime.Remoting.Activation.ActivationServices.CreateInstance(RuntimeType服務器類型) 貝System.Runtime。 Remoting.Activation.ActivationServices.IsCurrentContextOK(RuntimeType服務器類型,對象[]道具,布爾bNewObj) 貝System.RuntimeTypeHandle.CreateInstance(RuntimeType類型,布爾publicOnly,布爾NOCHECK,布爾& canBeCached,RuntimeMethodHandleInternal &構造函數,布爾& bNeedSecurityCheck) 貝System.RuntimeType.CreateInstanceSlow(布爾publicOnly,布爾skipCheckT他的,布爾fillCache,StackCrawlMark & stackMark) 貝System.RuntimeType.CreateInstanceDefaultCtor(布爾publicOnly,布爾skipCheckThis,布爾fillCache,StackCrawlMark & stackMark) 貝System.Activator.CreateInstanceT 貝Microsoft.Web.Administration.ConfigurationManager.CreateAdminManager [TClass ,TInterface](WebConfigurationMap webConfigMap,布爾isAdminConfig) 貝Microsoft.Web.Administration.ConfigurationManager.CreateWritableAdminManager(WebConfigurationMap webConfigMap,字符串configPathToEdit,布爾isAdminConfig) 貝Microsoft.Web.Administration.ConfigurationManager.CreateConfiguration(WebConfigurationMap configMap,字符串configPathToEdit,布爾isAdminConfig) bei Microsoft.Web.Administration.ConfigurationM anager.GetConfiguration(字符串rawConfigurationPath,字符串cacheKey,布爾isAdminConfig) 貝Microsoft.Web.Administration.ConfigurationManager.GetApplicationHostConfiguration() 貝Microsoft.Web.Administration.ServerManager.GetApplicationHostConfiguration() 貝Microsoft.Web.Administration.ServerManager.get_SitesSection () bei Microsoft.Web.Administration.ServerManager.get_Sites()
有沒有人知道該怎麼辦?
提前致謝! 帕特里克
THX!爲我工作 – ArthNRick 2017-05-19 21:28:08