我有一个内置于控制台应用程序中的自主WebAPI。当我通过VisualStudio IDE运行它时,一切正常。我有一个客户端应用程序,可以很好地连接和与WebAPI应用程序交互。但是,如果我在IDE外部运行我的WebAPI应用程序,只需双击EXE,我的客户端应用程序根本无法连接到它。我也没有得到任何真正有用的错误信息,客户端中有两个InnerExceptions(在PostAsXmlAsync调用上)。一个说“无法连接到远程服务器”,第二个是“发送请求时发生错误”。
通常情况下,如果是一致的错误,我会自行排除故障并进行调试。但这里的关键因素是如果我通过VisualStudio IDE运行这一切,一切都按预期工作。
任何人都可以就我应该关注的内容提供一些建议吗?感谢名单!
答案 0 :(得分:1)
1)如果你所做的只是在本地访问自我主机,你可以设置以下配置选项:
config.HostNameComparisonMode = System.ServiceModel.HostNameComparisonMode.Exact;
使用它,您不必使用提升的权限运行该进程(再次,如果您想在本地访问它)。
2)另一种选择是为特定用户保留特定端口:
netsh http add urlacl url=http://+:999/ user=machine\username
这也允许您以管理员身份运行自己的主机,只要为已为其保留端口的用户启动进程。
3)最后,最后一个选项是以管理员身份运行它。