Asp.net web api 信号器突然死亡-500内部服务器错误

Asp.net web api 信号器突然死亡-500内部服务器错误,asp.net-web-api,signalr,Asp.net Web Api,Signalr,我一直在绞尽脑汁想弄清楚到底发生了什么,我的SignalR服务器似乎工作正常,我可以使用JQuery连接到集线器,如下所示 $.connection.hub.url = "https://mysite.azure/signalr/hubs/"; $.connection.hub.logging = true; var hub = $.connection.airP2P; var token = "ab

我一直在绞尽脑汁想弄清楚到底发生了什么,我的SignalR服务器似乎工作正常,我可以使用JQuery连接到集线器,如下所示

 $.connection.hub.url = "https://mysite.azure/signalr/hubs/";        
        $.connection.hub.logging = true;
        var hub = $.connection.airP2P;
        var token = "abcd";
        $.connection.hub.qs = { 'access_token': token };
        console.log("Connecting.....");
        $.connection.hub.start({ jsonp: isChrome })
            .done(function () {
                console.log("Connected to Hub!");                
            })
            .fail(function () { 
                console.log("Could not Connect to signal R hub!"); });
StatusCode: 500, ReasonPhrase: 'Internal Server Error', Version: 1.1, 
Content: System.Net.Http.HttpConnection+HttpConnectionResponseContent, 
Headers:
{
  Cache-Control: private
  Transfer-Encoding: chunked
  Server: Microsoft-IIS/10.0
  X-AspNet-Version: 4.0.30319
  X-Powered-By: ASP.NET
  Set-Cookie: ARRAffinity=9865c22a2d9f2f551f361f12a9fa85ff22f916bd5bee09cf0caa99ac24419d10;Path=/;HttpOnly;Domain=mysite.azure
  Date: Wed, 05 Aug 2020 06:55:09 GMT
  Content-Type: text/html; charset=utf-8
}
var querystringData = new Dictionary<string, string>
{
   { "access_token", User_Auth_Token }
};

hubConnection = new HubConnection("https://mysite.azure/signalr", querystringData);
mhubProxy = hubConnection.CreateHubProxy("myHubName");
await hubConnection.Start();
但并没有形成我的Android应用程序,它突然停止工作,并给我500个内部服务器错误如下

 $.connection.hub.url = "https://mysite.azure/signalr/hubs/";        
        $.connection.hub.logging = true;
        var hub = $.connection.airP2P;
        var token = "abcd";
        $.connection.hub.qs = { 'access_token': token };
        console.log("Connecting.....");
        $.connection.hub.start({ jsonp: isChrome })
            .done(function () {
                console.log("Connected to Hub!");                
            })
            .fail(function () { 
                console.log("Could not Connect to signal R hub!"); });
StatusCode: 500, ReasonPhrase: 'Internal Server Error', Version: 1.1, 
Content: System.Net.Http.HttpConnection+HttpConnectionResponseContent, 
Headers:
{
  Cache-Control: private
  Transfer-Encoding: chunked
  Server: Microsoft-IIS/10.0
  X-AspNet-Version: 4.0.30319
  X-Powered-By: ASP.NET
  Set-Cookie: ARRAffinity=9865c22a2d9f2f551f361f12a9fa85ff22f916bd5bee09cf0caa99ac24419d10;Path=/;HttpOnly;Domain=mysite.azure
  Date: Wed, 05 Aug 2020 06:55:09 GMT
  Content-Type: text/html; charset=utf-8
}
var querystringData = new Dictionary<string, string>
{
   { "access_token", User_Auth_Token }
};

hubConnection = new HubConnection("https://mysite.azure/signalr", querystringData);
mhubProxy = hubConnection.CreateHubProxy("myHubName");
await hubConnection.Start();
我的代码如下

 $.connection.hub.url = "https://mysite.azure/signalr/hubs/";        
        $.connection.hub.logging = true;
        var hub = $.connection.airP2P;
        var token = "abcd";
        $.connection.hub.qs = { 'access_token': token };
        console.log("Connecting.....");
        $.connection.hub.start({ jsonp: isChrome })
            .done(function () {
                console.log("Connected to Hub!");                
            })
            .fail(function () { 
                console.log("Could not Connect to signal R hub!"); });
StatusCode: 500, ReasonPhrase: 'Internal Server Error', Version: 1.1, 
Content: System.Net.Http.HttpConnection+HttpConnectionResponseContent, 
Headers:
{
  Cache-Control: private
  Transfer-Encoding: chunked
  Server: Microsoft-IIS/10.0
  X-AspNet-Version: 4.0.30319
  X-Powered-By: ASP.NET
  Set-Cookie: ARRAffinity=9865c22a2d9f2f551f361f12a9fa85ff22f916bd5bee09cf0caa99ac24419d10;Path=/;HttpOnly;Domain=mysite.azure
  Date: Wed, 05 Aug 2020 06:55:09 GMT
  Content-Type: text/html; charset=utf-8
}
var querystringData = new Dictionary<string, string>
{
   { "access_token", User_Auth_Token }
};

hubConnection = new HubConnection("https://mysite.azure/signalr", querystringData);
mhubProxy = hubConnection.CreateHubProxy("myHubName");
await hubConnection.Start();
var querystringData=新字典
{
{“访问令牌”,用户认证令牌}
};
轮毂连接=新轮毂连接(“https://mysite.azure/signalr“,查询字符串数据);
mhubProxy=hubConnection.CreateHubProxy(“myHubName”);
等待连接。开始();

完全相同的代码工作正常,只是突然停止工作,知道吗?

根据@CodeCaster,查看服务器日志,我发现了这个错误

System.ArgumentNullException: Value cannot be null. Parameter name: key at System.Collections.Generic.Dictionary2.FindEntry(TKey key)
at Microsoft.AspNet.SignalR.Hubs.HubDispatcher.AuthorizeRequest(IRequest request)
at Microsoft.AspNet.SignalR.PersistentConnection.ProcessRequest(IDictionary2 environment) at Microsoft.Owin.Mapping.MapMiddleware.d__0.MoveNext()
当您使用
链接器运行Xamarin应用程序时会发生这种情况,如以下问题所述

要解决这个问题,我必须在构建设置中禁用链接器。我仍然不知道如何正确解决这个问题,因为禁用链接器会大大增加APK大小


更多信息可在此处找到

查看服务器日志。