代码之家  ›  专栏  ›  技术社区  ›  Mike Marshall

ASP。NET和远程处理:“未能连接到IPC端口:访问被拒绝。”

  •  2
  • Mike Marshall  · 技术社区  · 15 年前

    我有个c#。NET 2.0 Windows服务,监听IPC端口上的远程处理请求。该服务作为“本地服务”帐户运行。

    我有一个ASP。NET应用程序,尝试对远程对象进行调用。ASP。NET应用程序作为IUSR在XP上运行_ 机器名 。对远程对象的调用失败,出现错误:

    Failed to connect to an IPC Port: Access is denied.
    

    我做了一些研究,大多数解决方案表明,我需要将远程处理通道上的“authorizedGroup”属性设置为我希望允许访问IPC端口的组。所以我做了以下几件事:

    1. 更改了我的代码以允许“所有人”访问IPC端口:
       HashTable table; // properties
       //...
       table.Add("authorizedGroup", "Everyone");                          
    
       table.Add("portName", name);
       // etc
       IpcChannel  channel = new IpcChannel(table, clientSink,
       serverSink);
    

    2.然后我加入了IUSR_ 机器名 给我机器上的本地“用户”组,我希望它能包含在“所有人”别名中。

    但我试图再次运行它,但仍然得到“无法连接到IPC端口:访问被拒绝”

    有什么想法吗?

    0 回复  |  直到 15 年前
        1
  •  0
  •   captainst    4 年前

    我遇到了同样的问题 this 波斯特解决了这个问题

    windows服务似乎对帐户有一些额外的控制。

    实际上,您需要在服务器端和客户端上设置authorizedGroup=“Everyone”。