我在.NET 3.0应用程序中托管了一组现有的WCF服务。他们使用WSHttp绑定而没有安全性。
我需要从.NET 3.5客户端连接到这些。这似乎对单向服务工作正常,但我也有一些回调服务(使用CallbackContract和SessionMode = Required,使用WSDualHttpBinding);这些无法连接到ReliableSession代码中的某个超时。
无法更改服务端(这是历史版本问题)。我可以在客户端修改某些内容以使其正常工作吗? (我可以很好地连接.NET 3.0客户端,但我不想被迫尝试这条路径。)
The open operation did not complete within the allotted timeout of 00:00:09.9410000.
The time allotted to this operation may have been a portion of a longer timeout.
Server stack trace:
at System.ServiceModel.Channels.ReliableRequestor.ThrowTimeoutException()
at System.ServiceModel.Channels.ReliableRequestor.Request(TimeSpan timeout)
at System.ServiceModel.Channels.ClientReliableSession.Open(TimeSpan timeout)
at System.ServiceModel.Channels.ClientReliableDuplexSessionChannel.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
答案 0 :(得分:1)
好的,对不起噪音。事实证明,问题实际上是由于生成的客户端代码;当时,我在本地计算机上运行.NET 3.5服务,在远程计算机上运行.NET 3.0服务。它们有不同的命名空间,看起来VS正在拿起本地服务命名空间,即使我特意告诉它连接到远程IP。在本地服务器未运行的情况下重新生成客户端代码后,它运行正常。