【发布时间】:2010-03-06 21:09:06
【问题描述】:
在过去的 2-3 个月里,我一直在尝试创建一个稳定的 Web 服务应用程序。大约 2 个月前,我选择迁移到 WCF 以利用单实例 Web 服务。
自从采取这一举措以来,我在部署到 IIS 6 场景时遇到了一些真正的难题。不幸的是,因为大多数真正的客户端仍然使用 Windows Server 2003 和 IIS 6。我遇到了所有你能想象到的 WCF 错误。
客户的耐心正在消退,很快我们似乎无法提供可靠的解决方案。
我几乎决定回到至少有效的 ASMX 服务,并且没有遭受类似以下问题的影响:
序列已被远程端点终止。已超过用户为特定消息指定的最大重试次数。因此,可靠会话无法继续。可靠会话出现故障。
通信对象 System.ServiceModel.Channels.ReplyChannel 已被中止,无法用于通信
名单还在继续……在我回到 ASMX 之前,是否有任何令人信服的理由坚持使用 WCF,因为按照这种速度,我们可能会因为这项技术而失去大客户?
【问题讨论】:
-
尝试自托管 ASMX Web 服务 - 尝试连接到 MSMQ 消息队列 - 尝试使用 TCP/IP 而不是 HTTP - 祝你好运!
-
问题是 - 我没有尝试 WCF,显然设计者打算让客户使用 IIS7,因为在 IIS7 中它就像炸弹一样工作!但我只是不认为它真的适合 IIS6 托管。
-
@Marc s,我不想为我正在处理的这个实现做任何这些事情。首先,我想发布一款以可预测方式运行的软件。
-
但是说真的:如果您想在 Win2003 Server 上获得可预测的行为 - 为什么不自行托管您的 WCF 服务?与 IIS7 相比,它的性能甚至更好、更流畅 - 说真的!
-
@Marc - 好吧,所以我可能只是个 tekkie,但是拜托,相信我们这些人,我们都在使用计算机,最终可以节省大量时间和金钱。