【发布时间】:2009-05-07 22:03:39
【问题描述】:
是否可以将委托从客户端传递给 WCF 远程对象并让远程对象执行委托?
我猜不是,因为 delgate 是客户端进程的函数指针。
我的目标是有一个接口结构,我可以“订阅”从客户端到接口的事件。我会从客户端传递一个委托给接口,我希望接口能够执行事件。
这个想法是让界面能够以程序集或远程方式加载,并让代码工作相同。
如果我不能通过委托,我该如何实现事件结构?
【问题讨论】:
是否可以将委托从客户端传递给 WCF 远程对象并让远程对象执行委托?
我猜不是,因为 delgate 是客户端进程的函数指针。
我的目标是有一个接口结构,我可以“订阅”从客户端到接口的事件。我会从客户端传递一个委托给接口,我希望接口能够执行事件。
这个想法是让界面能够以程序集或远程方式加载,并让代码工作相同。
如果我不能通过委托,我该如何实现事件结构?
【问题讨论】:
本身不是 C# 中的“委托”,但在 WCF 中,您有双工绑定以启用从服务端到客户端的回调
http://msdn.microsoft.com/en-us/library/system.servicemodel.wsdualhttpbinding.aspx
【讨论】:
我怀疑你能否想出一种内聚的方式来将委托从 C# 客户端传递到 Java 服务实现并使其正确执行......
WCF 不是严格的 .NET 实现,因此必须处理互操作问题。它不能依赖于会话的两端都在 .NET 中的假设——这就是为什么你不应该在服务器和客户端之间抛出自定义异常(异常是 .NET 构造)——你需要使用 SOAP 错误(其中是可互操作的)。
所以我不认为你想做的事情可以通过一个代表来完成——你必须想出另一种方法来实现你的目标。
马克
【讨论】: