小编vtr*_*nea的帖子

Azure NotificationHubClient 在 Azure 函数上密集使用时抛出 SocketException

我们正在使用 Azure 函数通过 Azure NotificationHubClient 发送推送通知。这个函数在实时环境的高峰时间被调用很多,因此我们从 NotificationHubClient.SendNotificationAsync() 方法中抛出了很多 SocketExceptions。

异常详情:

Microsoft.Azure.NotificationHubs.Messaging.MessagingException: Unexpected exception encountered TimeStamp:2020-03-27T04:14:35.4655705Z ---> System.Net.Http.HttpRequestException: Cannot assign requested address ---> System.Net.Sockets.SocketException: Cannot assign requested address
   at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.ConnectHelper.ConnectAsync(String host, Int32 port, CancellationToken cancellationToken)
   at System.Threading.Tasks.ValueTask`1.get_Result()
   at System.Net.Http.HttpConnectionPool.CreateConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Threading.Tasks.ValueTask`1.get_Result()
   at System.Net.Http.HttpConnectionPool.WaitForCreatedConnectionAsync(ValueTask`1 creationTask)
   at System.Threading.Tasks.ValueTask`1.get_Result()
   at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.DiagnosticsHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) …
Run Code Online (Sandbox Code Playgroud)

azure azure-notificationhub azure-functions azure-hub

7
推荐指数
1
解决办法
524
查看次数

Angular JS $http 调用返回状态代码 0

我目前在进行 http 调用时偶然发现了 Angular JS 中的一个奇怪问题。我执行 POST 请求后,等待大约 2-3 分钟后,调用失败,返回:

  • 状态码0
  • “空”响应数据
  • 空响应文本

        $.support.cors = true;
        var req = {
            method: 'POST',
            url: serverIp + "UpdateDocumentInventar",
            headers: {
                'codDocument': CodDocument,
                'deviceId': deviceId,
                'authToken': authToken,
                'codGestiune': codGestiune
            },
            timeout: timeoutNR,
            data: articoleChanged   <--- array of items
        }
        var request = $http(req);
    
        return (request.then(handleSuccess, handleError));
    
    Run Code Online (Sandbox Code Playgroud)

无法访问网络服务器,因为我已将记录器放在那里以查看是否存在问题。

我还需要提到的是,这个调用并不总是失败——有时有效,有时无效。(我在网上读到状态代码0通常与未设置CORS相关 - 我也设置了这个,这肯定不是问题,因为其他类似的请求都能正确执行)。

到目前为止我已经尝试过什么: - 将http请求的超时值设置为更大的值(60000000) - 在服务器上设置更大的http请求接受长度(我认为这也可能是一个问题,尽管这通常返回状态码 41)

感谢每一次帮助,

提前致谢

request angularjs

5
推荐指数
0
解决办法
658
查看次数