Javascript 如何在signar中返回具有自己类属性的对象?

Javascript 如何在signar中返回具有自己类属性的对象?,javascript,signalr,Javascript,Signalr,这似乎是微软的错误。如果我试图从客户端调用的服务器中的函数返回一个对象,并且该对象对其自身有一个循环引用: public class User { public User OtherUser; } public User GetUser() { User user = new User(); user.OtherUser = new User(); user.OtherUser.OtherUser = user; return user.OtherUser; } 再次调

这似乎是微软的错误。如果我试图从客户端调用的服务器中的函数返回一个对象,并且该对象对其自身有一个循环引用:

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而不是对象的引用来解决这个问题。

我认为这与循环引用和Json的问题有关


< P>您可以考虑使用SignalR和WebAPI两者的替代模型。信号器用于将数据推送到客户端,对吗?如果客户不在那里怎么办?在这种情况下,将大型对象从服务器推到无法拾取的空间是没有意义的


另一种方法是使用signar推送小块信息(例如用户ID),然后让浏览器调用服务(因此是Web API),以便在准备好时获得更大的负载。

欢迎使用StackOverflow!请看,这里的共识是“不,他们不应该”。好主意,但我更喜欢这里的简单。如果用户将断开连接,则会有一个事件将其从已连接的用户列表中删除,该事件将为null,并且不会发生任何事情。