0

我有一个由 WCF 服务和几个客户端组成的应用程序,它们都是用 .NET (C#) 制作的。现在我需要添加另一个客户端,它必须是 Java 的,我在那里没有太多经验。所以我现在正在尝试一下,几乎立即遇到了问题。

我的服务行为是 [InstanceContextMode = InstanceContextMode.PerSession, ConcurrencyMode = ConcurrencyMode.Single]。服务中的逻辑基于同一会话中的后续调用由同一服务对象处理的事实。

但是对于 Java 客户端它不起作用,为来自客户端的每个调用创建新的服务对象。我真的不想更改服务,我想应该有一种方法可以让 Java 的会话保持活跃,但我在网络上找不到任何可以应用的建议。

我正在使用 Eclipse(Juno Service Release 2),客户端代码是使用 WSDL 文件生成的。

这是我用来测试客户端的代码:

IMDReceiverProxy proxy = new IMDReceiverProxy("http://localhost:25001/MDSS");
Greeting msg = new Greeting("HTTP", "javaWsTest);
proxy.acceptGreeting(msg);
proxy.acceptGreeting(msg);//oops, new service object created
4

1 回答 1

0

问题是 BasicHttpBinding,它不支持会话。

于 2013-06-20T08:11:56.557 回答