我有一个这样的课程:
public class MyData
{
public int Id { get; set; }
public String Name { get; set; }
public ThirdPartyClass { get; set; } // non serializable
}
我说"不可序列化"因为当我以这种方式将我的类传递给SignalR客户端函数时:
var hub = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
var myData = new MyData();
// fill fields
hub.Clients.All.data(myData);
呼叫返回错误500。 删除违规字段,它按预期工作。
请注意,我
现在我知道解决这个问题的两种方法:
当你有十几个田地时,两个人都很不舒服。 我想知道是否有一些DataAnnotation我可能会用来从序列化中排除一个字段。
答案 0 :(得分:0)
您可以使用IgnoreDataMemberAttribute()
,但我不确定这是否适用于SignalR。
如果不起作用的替代方法是JsonIgnore
注释。
最后,还有ScriptIgnore
。