我试图让SignalR使用自定义JsonSerializerSettings作为其有效载荷,特别是我试图设置TypeNameHandling = TypeNameHandling.Auto.
这个问题似乎是,该SignalR中使用的设置hubConnection.JsonSerializer,并GlobalHost.DependencyResolver.Resolve<JsonSerializer>()为它的内部数据结构以及它然后导致各种混乱的(内部服务器崩溃时,我设置TypeNameHandling.All为最粗鲁的例子,但TypeNameHandling.Auto我也得问题,特别是当IProgress<>回调涉及).
是否有任何解决方法或我只是做错了?
示例代码演示:
服务器:
class Program
{
static void Main(string[] args)
{
using (WebApp.Start("http://localhost:8080"))
{
Console.ReadLine();
}
}
}
public class Startup
{
public void Configuration(IAppBuilder app)
{
var hubConfig = new HubConfiguration()
{
EnableDetailedErrors = true
};
GlobalHost.DependencyResolver.Register(typeof(JsonSerializer), ConverterSettings.GetSerializer);
app.MapSignalR(hubConfig);
}
}
public interface IFoo
{
string Val { get; set; }
}
public class Foo : IFoo
{
public string Val { get; …Run Code Online (Sandbox Code Playgroud)