C# 与信号集线器的对象到对象通信

C# 与信号集线器的对象到对象通信,c#,proxy,signalr,signalr-hub,signalr.client,C#,Proxy,Signalr,Signalr Hub,Signalr.client,在我的应用程序中,我希望客户端JS代理对象与服务器上适当的.NET对象通信。我有许多不同类型的对象。每种类型都有自己的方法集 所以我需要的是一个JS对象到C对象的RPC通信。 我的第一个想法是用Signal/R集线器实现这一点,并利用这个漂亮的自动生成RPC代理功能。但我不确定这是否可行。我知道集线器是暂时的,但无论如何我都在寻求信号器的支持 我想继续进行以下工作: 服务器:为每种对象类型定义一个C#接口 服务器:为实现适当接口的每个对象类型定义一个中心类 服务器:为实现接口的每个对象类型定义

在我的应用程序中,我希望客户端JS代理对象与服务器上适当的.NET对象通信。我有许多不同类型的对象。每种类型都有自己的方法集

所以我需要的是一个JS对象到C对象的RPC通信。

我的第一个想法是用Signal/R集线器实现这一点,并利用这个漂亮的自动生成RPC代理功能。但我不确定这是否可行。我知道集线器是暂时的,但无论如何我都在寻求信号器的支持

我想继续进行以下工作:

  • 服务器:为每种对象类型定义一个C#接口
  • 服务器:为实现适当接口的每个对象类型定义一个中心类
  • 服务器:为实现接口的每个对象类型定义一个类

  • 客户端:通过url检索代理。url包含一个具有对象实例id的参数

  • 客户端:调用代理的函数

  • 服务器:在hub中调用函数时,我希望以某种方式获取对象实例的id。(可能来自连接对象?)使用此id,我想在字典中查找我的对象并调用appropriate方法


我知道一种解决方案是在每个方法中将对象id作为参数,但我希望避免这种情况

如果对象ID与信号器连接具有一对一的对应关系,则可以使用
Hub.Context.ConnectionId
而不是将对象ID作为参数传递给每个方法

Hub.Context
还有其他有用的属性来访问请求cookie和活动的
IPrincipal


否。每个连接有多个对象。我想我需要多个客户端代理连接到一个中心。