.NET Remoting:除了localhost之外,无法连接到Windows服务中的远程对象?

时间:2011-01-20 21:43:18

标签: .net remoting

我创建了一个Window Service,它在localhost中运行良好。但是,当我将其安装到另一台计算机(使用我的帐户)时,另一台计算机上的客户端将返回“无法连接到远程服务器”。如果客户端在同一台机器上运行,它就可以正常工作。我也尝试在Console应用程序中托管相同的远程对象,它可以从远程机器上运行而没有问题。

这是我服务的OnStart()中的代码:

   HttpChannel channel = new HttpChannel(8080);
    ChannelServices.RegisterChannel(channel, false);
    RemotingConfiguration.RegisterWellKnownServiceType(typeof(MyService), "MyService", WellKnownObjectMode.Singleton);

以下是客户端代码:

       ChannelServices.RegisterChannel(new HttpChannel(), false);
        MyService myService = (MyService)Activator.GetObject(typeof(MyService), "http://xxx.xxx.xxx.xxx:8080/MyService");

我发现有人在互联网上提出这个问题,但没有答案。有人知道吗?

2 个答案:

答案 0 :(得分:1)

尝试禁用Windows防火墙(或任何防火墙)。可能是您尝试给我们的端口被阻止了。

重要更新

  

在你确定之后   您正在使用的端口被阻止,   重新启用防火墙并创建一个   允许连接的异常   那个港口。

(感谢Jim Mischel的评论,提醒我们这是必要的。)

答案 1 :(得分:0)

如果您正在使用Visual Studio并使用其内部Web服务器,则它不接受来自外部IP地址的连接。它只接受localhost连接。