首页 > 解决方案 > 基于 Azure 的 OData 查询失败并出现套接字错误

问题描述

我有三个应用程序在 Azure 上查询相同的数据服务。一个没有问题,但其中两个收到“错误。他们正在使用 Linq 查询,即“System.Linq.IQueryable queryResult = entity.Accts.Where(a => a.AN == "XXX");"

错误是: 1. WebException:底层连接已关闭:发送时发生意外错误。2. IOException: Unable to read data from the transport connection: 一个已存在的连接被远程主机强行关闭。3. SocketException:一个已存在的连接被远程主机强行关闭

有趣的是,从失败的应用程序捕获实际发送的“请求”通信消息并在浏览器中使用它们后,我得到了很好的响应,而不是错误。

实际上,我从工作应用程序中获取了 OData 连接文件的副本,并使用它们在失败的应用程序的副本中替换了它们的等价物,但没有成功;同样的错误。

想法?

标签: azure-devopsodata

解决方案


与 MS 合作,似乎有一个新协议生效,需要将以下语句添加到我们的代码中:

            System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

推荐阅读