我目前有一个带有回调契约(Contract)(双工)的 WCF 服务,当我使用在我的计算机上使用它的应用程序时一切正常,但是当我从另一台计算机尝试它时,它无法连接。
一旦我切换到使用这个 wsDualHttpBinding
(用于回调),这些问题就开始发生,因为当我使用 wsHttpBinding
时一切正常。
为什么 Web 服务不接受来自其他计算机的请求?是否需要修改一些托管设置?
至于日志,我得到了这些:
alt text http://img17.imageshack.us/img17/4628/wcfissue.jpg
我的路由器(TCP 和 UDP)上的端口是打开的,所以这不是问题。
至于服务属性,这就是我正在使用的:
界面:
[ServiceContract(Name = "MusicRepo_DBAccess_Service",
CallbackContract = typeof(IOnlineUsersCallback),
SessionMode=SessionMode.Required)]
服务:
[ServiceBehavior(
ConcurrencyMode=ConcurrencyMode.Reentrant,
InstanceContextMode=InstanceContextMode.Single)]
[更新]
至于 Orion Edwards ' 帖子:
问题是,当我从
wsHttpBinding
(工作正常)切换到 wsDualHttpBinding
(因为我需要回调)时,这个问题就开始发生了[更新]
我现在已经从
wsDualHttpBinding
切换到 NetTcpBinding
,出于某种原因,一切正常。我已经使用 this article 来帮助我在 IIS 上设置托管,幸运的是一切都按预期工作,并带有回调。
最佳答案
我现在已经从 wsDualHttpBinding
切换到 NetTcpBinding
,出于某种原因,一切正常。
我已经使用 this article 来帮助我在 IIS 上设置托管,幸运的是一切都按预期工作,并带有回调。