如何唤醒和启用 .NET Remoting 服务器的客户端以异步获取数据?
Posted
技术标签:
【中文标题】如何唤醒和启用 .NET Remoting 服务器的客户端以异步获取数据?【英文标题】:How to awake and enable clients of .NET Remoting server for fetch data asynchronously? 【发布时间】:2010-09-21 14:27:32 【问题描述】:我需要使用 .NET Remoting 执行进程间通信。为此,我会以 Data(Objects) & Methods 的形式分享一些数据。
我的 .NET Remoting 客户端是否可以检测到是否有一些数据正在共享,如果它只是继续收集这些数据。每次服务器服务器与其共享的方法共享数据和编组的对象,它应该知道客户端是另一个进程。
服务器可以有多个客户端,数据可以在多个客户端(特定客户端或广播,即作为单独进程运行的每个客户端)共享。
在客户端,我将有一个专用线程来检查共享数据,如果它到达它将收集,否则就休眠。或者以某种方式每次服务器向特定客户端或多个客户端发送事件以使他们了解到达和共享的数据。
这是 .NET Remoting Events 公开的功能吗? 我的 .NET Remoting 服务器是 C# 进程,客户端是 C++/CLI 进程。
问候 乌斯曼
【问题讨论】:
.NET 远程处理被认为是过时的。您应该为您的 IPC 考虑 WCF。 目前,.NET Remoting 已被整合,很难在有限的时间内更换。 【参考方案1】:这可以通过 .NET Remoting 实现。也许最简单的方法是让远程对象(服务器)包含一个客户端可以订阅的事件。当服务器有它希望共享的数据时,它只会触发该事件,并且任何订阅该事件的客户端都会收到与数据一起发出的通知。
【讨论】:
我必须为我的 .Remoting 服务器客户端发送一些字符串和消息,然后由服务器本身创建这些客户端(服务器将创建单独的进程,即客户端),它需要向其发送消息和数据。跨度> 在服务器本身创建这些客户端(服务器将创建单独的进程,即客户端)后,我必须为我的远程服务器客户端发送一些字符串和消息,它需要向其发送消息和数据。每次客户端(即进程)启动时,它都会将其引用发送到服务器端,服务器会将其实例附加到其调度程序列表中。另一端的客户端将无限等待或进入休眠线程。每当服务器需要共享其数据时,客户端就会意识到并且其线程会唤醒并可以处理共享数据。任何代码示例都可以证明这一点。? 在您的情况下,在服务器中定义一个事件并在客户端订阅它是要走的路。很抱歉我没有代码示例可以与您分享。以上是关于如何唤醒和启用 .NET Remoting 服务器的客户端以异步获取数据?的主要内容,如果未能解决你的问题,请参考以下文章
在 IIS 7.5 中托管的 .Net Remoting 服务中,如何删除“Server : IIS/7.5”标记表单响应头
asp。net 中的B/S项目中Remoting的应用?ASP.NET B/S项目中能做成有的状态?