如何在 SignalR 中返回具有自己的类属性的对象
How to return an object which has a property of its own class in SignalR?
这似乎是一个Microsoft错误。如果我尝试从客户端调用的服务器中的函数返回一个对象,并且该对象对其自己的函数具有循环引用:
public class User
{
public User OtherUser;
}
public User GetUser()
{
User user = new User();
user.OtherUser = new User();
user.OtherUser.OtherUser = user;
return user.OtherUser;
}
再次调用服务器功能,然后集线器不再响应进一步的呼叫,有人遇到过这种行为吗?我变成了使用对象的 id 而不是对对象的引用来解决这个问题。
可以考虑使用替代模型,同时使用 SignalR 和 Web API。SignalR 用于将数据推送到客户端,对吧?如果客户不再在那里怎么办?在这种情况下,将大型对象从服务器推到不会被拾取的空隙中是没有意义的。
另一种方法是使用 SignalR 推送小块信息(例如用户 ID),然后让浏览器回调服务(因此是 Web API),以便在准备就绪时获取更大的有效负载。
我认为这与循环引用和 Json 的问题有关。
序列化类型为"SubSonic.Schema"的对象时检测到循环引用。数据库列"。
相关文章:
- 消隐数组元素是否生成自己的属性
- 更好的设计,以便从对象的方法引用自己的对象的属性
- 对象方法可以有自己的属性
- 从 2 个得分最高的节点列表中获取 3 个节点(我自己设置的属性)
- 使用下划线检查自己的属性
- 在其自己的图像之后显示 Alt 属性
- 由 dojo.declare 创建的对象如何访问自己的属性
- 在自己的js中访问Google Analytics js属性
- 如何在 SignalR 中返回具有自己的类属性的对象
- 挖空添加我自己的数据绑定属性,如 With
- 函数访问函数中自己的对象属性
- 主干忽略 idAttribute 并设置自己的属性
- 可以将对象属性转换为自己的对象
- 将 jQuery 用于自己的属性
- 向DOM对象添加自定义(您自己的)属性
- 我如何制作自己的属性(HTML5)
- 对象在初始化时引用其自己的属性
- 我们可以在html元素中使用自己的属性来存储值吗?
- 用对象自己的属性初始化对象属性
- 对象返回自己的属性并保留方法