1

我在控制台应用程序中内置了一个自托管 WebAPI。当我通过 VisualStudio IDE 运行它时,一切正常。我有一个客户端应用程序,可以很好地连接 WebAPI 应用程序并与之交互。但是,如果我在 IDE 之外运行我的 WebAPI 应用程序,只需双击 EXE,我的客户端应用程序就根本无法连接到它。我也没有得到任何真正有用的错误信息,客户端中有两个 InnerExceptions(在 PostAsXmlAsync 调用上)。一个说“无法连接到远程服务器”,第二个是“发送请求时发生错误”。

通常,如果这是一个一致的错误,我会自己进行故障排除和调试。但这里的关键元素是,如果我通过 VisualStudio IDE 运行这一切,一切都会按预期工作。

任何人都可以就我应该关注/关注的内容提供一些建议吗?谢谢!

4

1 回答 1

1

1)如果您所做的只是在本地访问自己的主机,您可以设置以下配置选项:

config.HostNameComparisonMode = System.ServiceModel.HostNameComparisonMode.Exact;

这样,您不必以提升的权限运行该进程(同样,如果您想在本地访问它)。

2)另一种选择是为特定用户保留特定端口:

netsh http add urlacl url=http://+:999/ user=machine\username

这也允许您以管理员身份运行自我主机,只要该进程是为已为其保留端口的用户启动的。

3)最后,最后一个选项是以管理员身份运行它。

于 2013-02-27T15:23:21.703 回答