2014-03-04 101 views
3

當我使用的SignalR意外的響應代碼:500

_connection.JsonSerializer.TypeNameHandling = TypeNameHandling.All 

的JsonSerializer選項我得到一個錯誤的_connection.Start() {「的StatusCode:500,ReasonPhrase: '內部服務器錯誤',版本:1.1,內容: System.Net.Http.StreamContent,標題:\ r \ n {\ r \ n日期:2014年3月4日星期二12:26:26 GMT \ r \ n服務器:Microsoft-HTTPAPI/2.0 \ r \ n Content-Length :0 \ r \ n}「

,當我使用這個選項的每一件事工作正常 _connection.JsonSerializer.TypeNameHandling = TypeNameHandling.Auto

+0

查看服務器端的堆棧跟蹤信息,以調試它更好。也許打開你的立即窗口(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 –

相關問題