2014-03-04 1 views
3

Когда я использую вариант JsonSerializer изSignalR код Неожиданный ответ: 500

_connection.JsonSerializer.TypeNameHandling = TypeNameHandling.All 

Я получаю сообщение об ошибке на _connection.Start() { "StatusCode: 500, ReasonPhrase: 'Внутренняя ошибка сервера', версия: 1.1, Содержание: System.Net.Http.StreamContent, Заголовки: \ r \ n {\ r \ n Дата: Вт, 04 Март 2014 12:26:26 GMT \ r \ n Сервер: Microsoft-HTTPAPI/2.0 \ r \ n Content-Length : 0 \ г \ п} "}

, когда я использую этот вариант каждая вещь работает отлично _connection.JsonSerializer.TypeNameHandling = TypeNameHandling.Auto

+0

Посмотреть информацию StackTrace на стороне сервера для отладки лучше. возможно, открыть свое «Немедленное окно» (CTRL + ALT + I) (IIRC), чтобы узнать, что происходит –

+0

Сообщение не передается серверной стороне –

+0

@ Shachaf.Gortler У меня есть аналогичная проблема и я буду оценивать любые направление, которое вы имеете на решение этого! – theycallmemorty

ответ

2

Вы хотите включить подробные ошибки для сервера, которые по умолчанию отключены. Я включаю их только в режиме отладки

[assembly: OwinStartup(typeof(Startup))] 
namespace MvcProject.App_Start 
{ 
    public class Startup 
    { 
     public void Configuration(IAppBuilder app) 
     { 
      var hubConfiguration = new HubConfiguration(); 

#if DEBUG 
      hubConfiguration.EnableDetailedErrors = true; 
#endif 
      app.MapSignalR(hubConfiguration); 

Тогда ошибка должна быть довольно понятной после этого.

Также убедитесь, что у вас есть версия Json.NET которая исправляет эту ошибку: JsonSerializer does not appear to respect TypeNameHandling property correctly

+0

Я уже установил EnableDetailedErrors в true –

+0

, какая у вас версия json.net? см. обновление для ответа – dove

+0

Я использую версию json.net 6.0.0.0 –