2010-07-15 56 views
0

我们有一个WCF服务,其中ABC为'Server_abc' 现在,我们在客户端创建了一个代理并在服务器上进行了调用。 我的理解是,poxy将具有服务器的'Server_abc'并在内部建立连接并执行代码。拨打电话时,客户端代理服务器是否在内部将其地址发送给服务器?

问题是

是否poxy建立在客户端隐藏服务并发送Client_abc到服务器时进行调用时?其他明智的如何从服务器响应客户端的普通方法调用(请求 - 响应)?

还普遍怀疑

如果我的服务是WCF,但如果客户是用java,在客户端创建的代理将java_Proxy,现在这是怎么调用coverted并在服务器端接收。

回答

0

是否poxy建立在客户端隐藏服务 并发送 Client_abc到服务器时调用 制成?其他明智的如何 响应从服务器到 客户端的正常方法调用 (请求 - 响应)?

客户端不创建隐藏的服务,它是所有使用指定的结合序列的请求,并使用低水平的类发送它在导线如WebRequest例如。所有这些内部管道当然都是隐藏的,这样你就不必担心它们,看起来就好像你在调用本地功能。另一方面,服务器执行相同的序列化并将客户端反序列化的响应发送回对象。

如果我的服务是WCF,但如果客户端 是java的,在 客户端创建的代理将java_Proxy,现在 此调用是如何coverted并在服务器端收到 。

这将取决于服务所使用的绑定。例如basicHttpBinding是兼容的,并且JAVA客户端将把对象序列化为XML并通过电线将它们发送到您的服务时没有问题。如果您另一方面您的服务使用例如netTcpBinding,则只有.NET客户端才能够调用它。这是comparison between the different bindings

+0

“另一方面,服务器执行相同的序列化并将客户端反序列化的响应发送回对象” 这是我不清楚的 - 服务器如何将响应发送给客户端?服务器如何知道客户端的ABC发送响应? – Somaraj 2010-07-15 07:16:48

+0

它是定义ABC的**服务器**。当你生成一个客户端代理时,它使用这个相同的ABC,所以如果客户端设法成功地调用服务器,那么它使用的是正确的ABC。 – 2010-07-15 07:19:25

+0

正确,即请求部分。在处理请求之后,响应将被发回。响应发送回客户端还是发送到服务器端的WCFServiceFramwork的响应,这将完成并释放呼叫(阻塞呼叫)。 还是像发送给客户端的响应一样,在这种情况下,服务器端需要客户端地址。 基本上我不清楚请求响应如何工作? – Somaraj 2010-07-15 07:38:41