【发布时间】:2018-02-01 10:48:39
【问题描述】:
我构建了一个服务,该服务从 SQL 服务器导入和处理数据并将其输入到 SYSPRO。作为控制台应用程序,一切都在本地机器和服务器上完美运行。当我将控制台应用程序变成一项服务时,它在我的机器上进行了正确的登录后可以完美运行。当我第一次将服务放到服务器上时,当我尝试登录 SYSPRO 客户端时,它给了我一个 DNS 错误,即使使用正确的登录名也是如此。
private SYSPROWCFServicesPrimitiveClient eNetSession =
new SYSPROWCFServicesPrimitiveClient("net.tcp://{serverName}:20000/SYSPROWCFService/Soap",
SYSPROWCFBinding.NetTcp);
我将服务器名称更改为 localhost,它的地址和本地地址不再返回 DNS 错误,但不会初始化 SYSPRO 客户端。然而,它与位于不同服务器上的 SQL Server 没有问题。我认为它是连接字符串,但不确定我做错了什么,因为连接字符串在服务器上作为控制台应用程序工作得很好。我唯一的另一个猜测是该服务可能无法访问 net.tcp。有什么想法吗?
更新
看起来 DNS 设置正确,因为我可以 ping 另一台服务器及其自身。控制台和服务器都使用相同的连接字符串,我从服务返回的唯一错误消息如下图所示。
【问题讨论】:
标签: c# service dns windows-services net.tcp