使用CLSID检索远程组件的COM类工厂

时间:2014-05-29 13:27:39

标签: c# iis com

我编写了一个控制台应用程序,可以远程连接到8个服务器,获取所有IIS应用程序池名称和状态,并将它们写入SQL数据库。其中7台服务器没有问题。但是,我有一台服务器,我收到错误。以下是详细信息:

    Unhandled Exception: System.UnauthorizedAccessException: Retrieving the COM class factory for remote component with CLSID {2B72133B-3F5B-4602-8952-803546CE3344}
 from machine failed due to the following error: 80070005
   at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor,  Boolean&bNeedSecurityCheck)
   at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache)
   at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache)
   at System.Activator.CreateInstance(Type type, Boolean nonPublic)
   at Microsoft.Web.Administration.ConfigurationManager.CreateAdminManager[TClass,TInterface](WebConfigurationMap webConfigMap, Boolean isAdminConfig)
   at Microsoft.Web.Administration.ConfigurationManager.CreateConfiguration(WebConfigurationMap configMap, String configPathToEdit, Boolean isAdminConfig)
   at Microsoft.Web.Administration.ConfigurationManager.GetConfiguration(StringrawConfigurationPath, String cacheKey, Boolean isAdminConfig)
   at Microsoft.Web.Administration.ConfigurationManager.GetApplicationHostConfiguration()
   at Microsoft.Web.Administration.ServerManager.get_ApplicationPoolsSection()
   at Microsoft.Web.Administration.ServerManager.get_ApplicationPools()
   at II7AppPools.Program.Main(String[] args)

我看过几个论坛说要重新编译为x86而不是AnyCPU。我已经这样做了,但我仍然得到这个错误。是否有人因AnyCPU问题而收到此错误?这可能是一个许可问题,如果是的话,许可是什么?运行脚本的用户是所有8台服务器上的管理员。

0 个答案:

没有答案