【发布时间】:2020-04-22 18:46:59
【问题描述】:
我有一个托管 WCF 肥皂网络服务的 .NET 4.6 应用程序。它非常基本,当我在我自己的用户下的经典 .NET 4.6 桌面应用程序中运行它时,它运行良好。 但是我想在服务帐户下将它作为 Windows 服务运行。 我使用 100% 完全相同的 wcf 代码和服务定义,唯一的区别是它在 Windows 服务中,但它不起作用。不返回任何响应。
因此,例如在 .NET 4.6 桌面应用程序中,我可以发送 POST soap 请求并获得回复,并浏览 http://10.10.10.10:8904/blabla?wsdl 上的定义就好了。 当我在服务帐户下将它作为 Windows 服务运行时,它没有响应。例如浏览到http://10.10.10.10:8904/blabla?wsdl 没有给出任何响应(在浏览器中它一直在旋转)。
在 netstat 中,我可以看到端口 8904 上的 Windows 主机。
如果我启用对文件的 WCF 跟踪,我可以看到这样的日志,因此至少似乎有一些 WCF 活动:
<ExtendedData xmlns="http://schemas.microsoft.com/2006/08/ServiceModel/DictionaryTraceRecord">
<ActivityName>Ontvang bytes op verbinding http://10.10.10.10:8904/blabla?wsdl.</ActivityName>
<ActivityType>ReceiveBytes</ActivityType>
</ExtendedData>
我也已经加了:netsh http add urlacl url=http://+:8904/blabla/user=Everyone
有什么想法吗?我是否缺少某些用户权限?作为桌面应用程序和 Windows 服务运行之间是否需要有 WCF 配置差异?
【问题讨论】:
标签: .net wcf windows-services