0

我是 WCF 的新手,仍在学习 WCF 的糖。我从不为生产环境开发任何 WCF 应用程序。很长一段时间以来,我一直在寻找一篇带有屏幕共享应用程序源代码的好文章,最后我找到了带有示例代码的文章。

bob cravens 先生开发了一个小型应用程序,用于在两台电脑之间共享屏幕,这是完全 WCF 保存的应用程序。我浏览了他们的代码并理解了一些东西,但我的意思还是很少的东西我不清楚。我需要在我的最后运行这个应用程序只是为了清除整个事情,比如服务器和客户端如何通信并相互发送屏幕截图。

当我尝试从示例代码运行此 wcf 服务器时,我发现它正在运行,但问题出在 wcf 客户端。当我尝试运行 wcf 客户端时,我收到错误消息。

错误是: - HTTP 无法注册 URL [http://mypcip:myport/Rlc/Viewer/][1]。您的进程没有访问此命名空间的权限(请参阅)。

当此行在 wcf 客户端执行并且行是

 Uri baseAddress = new Uri("http://mypcip:myport/Rlc/Viewer");
 _viewerService = new ServiceHost(typeof(ViewerService), baseAddress);
 _viewerService.Open();

当服务主机尝试打开并执行此行时,会发生错误。

_viewerService.Open();

我尝试将端口也从 1003 更改为 8080,但得到了同样的错误。我在那个网站上发布了这个问题,我从那里得到了这个代码但没有得到答案,还发现很多其他人也发布了同样的问题并且没有得到答案。

任何人都可以从那里下载源代码并尝试在最后运行这个应用程序,并且可以告诉我这个代码有什么问题,当我尝试在我的电脑上运行这个示例代码 wcf 客户端时导致错误。我尝试了很多来理解为什么客户给出错误但无法理解。

所以我的要求是请任何人下载源代码并首先运行服务器然后运行客户端编辑代码中的IP地址并且肯定会遇到错误。告诉我我需要在这段代码中更改什么,因此我可以在我的电脑上完美地运行这个应用程序。以调试模式浏览源代码对我来说是非常重要的工作,但我根本无法运行这个应用程序。所以请帮助我,因为我有问题。谢谢

4

1 回答 1

1

我曾经遇到过同样的问题。

错误消息告诉您的是,您需要明确允许它在配置的地址和端口上运行。

这将需要管理权限。

如何解决这个问题,取决于您实际尝试在哪个操作系统上运行该服务。

Windows XPServer 2003上运行时,您需要使用此模式在命令行中对其进行配置

httpcfg set urlacl /u {http://URL:Port/ | https://URL:Port/} /aACL

如果您运行的是Windows Vista、Windows Server 2008 R2Windows 7,则需要使用该netsh.exe工具:

netsh http add urlacl url=http://+:80/MyUri user=DOMAIN\user

最后,您可能需要在防火墙规则中配置一个例外,以允许此服务在您配置的地址/端口上运行:在 Windows 防火墙中打开一个端口

我在这些 Microsoft 文章资源的帮助下解决了这个问题:

于 2012-12-14T09:22:27.063 回答