【问题标题】:Self-hosted WCF service inaccessible in IIS+AppFabric在 IIS+AppFabric 中无法访问自托管 WCF 服务
【发布时间】:2025-12-02 00:55:02
【问题描述】:

几周以来,我一直遇到一个非常奇怪的问题。我有一些服务在命令行应用程序中自托管时工作得很好。但是,在 IIS+AppFabric 中,我无法访问其中一项服务 - 我得到 TimeoutException 并且很确定该调用甚至没有进入该服务(所有服务都有一个方面可以在执行任何操作之前记录所有调用)。请注意,两个服务在绑定和代码行为方面的配置相同。我尝试了很多事情,比如将它们放在不同的应用程序池中,禁用一些传输......如果这两个服务都在一个应用程序池中 - 其中一项服务有效但如果我将它们放在不同的线程上 - 真的很奇怪其他服务超时。真是让我抓狂……

我还经常在系统事件日志中看到以下事件:“为应用程序池“授权管理”提供服务的进程与 Windows 进程激活服务发生了致命的通信错误。进程 ID 为“11852”。数据字段包含错误编号。”错误号为 0x80070218。事件后服务主机初始化没有问题(我可以看到我自己的信息日志消息)但是服务无法访问。

这会给任何人敲响警钟吗?

谢谢!

【问题讨论】:

  • 以下是有关 IIS/AppFabric/Services 配置的一些内容: •站点绑定:http; HTTPS; net.tcp 808:*; net.pipe * •运行 Windows 服务:net.pipe 侦听器适配器; net.tcp 侦听器适配器; net.tcp 端口共享; www •为每个服务启用协议:http、net.tcp、net.pipe •每个服务都启用了自动启动 •应用程序池在集成模式下使用.NET 4.0 与ApplicationPoolIdentity •每个池都启用自动启动

标签: wcf iis appfabric self-hosting wcf-hosting


【解决方案1】:

原来我在服务主机的初始化中有一个错误。我正在尝试一些东西,当我删除 try 代码时,显然我没有删除锁定某些资源的第一行。

无论如何,这是一个很好的教训。然而,如果您的服务不起作用,您的初始化可能有问题...

抱歉打扰了。

【讨论】:

  • +1 用于发布答案 - 你永远不知道何时可以帮助其他人 :)