【问题标题】:Can't access to iis remote server programatically with c#无法使用 c# 以编程方式访问 iis 远程服务器
【发布时间】:2019-08-23 10:18:41
【问题描述】:

我需要访问远程机器上的远程 iis,当我尝试访问它时,它实际上工作正常,在浏览器中为我的本地机器提供 ip+port,iis 似乎工作正常,我可以控制它iis 管理器界面。

iis remotely access from my local machine

Ican access to the distant web site

我的问题是当我需要使用此代码时(我已经对其进行了测试,它可以完美地作为本地主机运行)我的代码向我抛出了这个异常:

System.UnauthorizedAccessException: 'Retrieving the COM class factory for remote component with CLSID {2B72133B-3F5B-4602-8952-803546CE3344} from machine RD01 failed due to the following error: 80070005 RD01.'

当我尝试调试 ServerManager 返回的内容时,它会告诉我:

'serverManager.ApplicationDefaults' threw an exception of type 'System.UnauthorizedAccessException'

注意:我已经尝试过以下链接中提到的解决方案,但它不起作用

Credentials for ServerManager.OpenRemote

更新

我忘了提到我使用的是 Microsoft.Web.Administration.dll v 7.0.0 我的应用程序是带有 WPF 的桌面应用程序

【问题讨论】:

  • 该远程 API 是为 Intranet 设计的,需要打开和访问 DCOM 端口。请使用新的 IIS REST API,因为它涵盖了更多的场景并且使用更简单。

标签: c# visual-studio iis remote-server


【解决方案1】:

尝试按照以下步骤操作:

1) 从您的计算机打开搜索并输入 DCOMCNFG。

2)在组件服务窗口中右键单击我的电脑并选择属性。 选择 COM 证券选项卡。

2)在访问权限中,单击编辑默认值并将网络服务添加到其中并授予它允许本地访问权限。对 \Users 或 iis_iusrs, iusr 执行相同操作。

3) 在 Launch and Activation Permissions 中,单击 Edit Defaults 并为其添加 Network Service 并为其授予 Local Launch 和 Local Activation 权限。对 \Users ,iis_iusrs, iusr 执行相同操作。

【讨论】:

  • 我做了所有这些,但我仍然遇到同样的异常
  • 尝试将 HKEY_CLASSES_ROOT\AppID\WINWORD.EXE 下的 AppID 注册表项从旧条目更改为 {00020906-0000-0000-C000-000000000046}。有关详细信息,请参阅此链接。
  • 不幸的是,这仍然无法正常工作,在调试时我在这一行出现错误: var serverManager = ServerManager.OpenRemote("RD01");是否有任何特定权限授予视觉工作室? (我已经以管理员身份运行过)
  • 您在更改注册表后是否重新启动了机器?
猜你喜欢
  • 1970-01-01
  • 2022-01-12
  • 2020-03-06
  • 2013-03-17
  • 2022-06-27
  • 1970-01-01
  • 2015-01-08
  • 1970-01-01
  • 2010-11-03
相关资源
最近更新 更多