首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Simple.OData.Client:无法创建SSL/TLS安全通道

Simple.OData.Client:无法创建SSL/TLS安全通道
EN

Stack Overflow用户
提问于 2022-10-20 19:48:16
回答 1查看 40关注 0票数 0

我有一个使用OData开发的Simple.OData.Client Excel插件。应用程序运行良好,但现在我收到了这样的消息:

System.Net.WebException:请求被中止:无法创建SSL/TLS安全通道

代码语言:javascript
复制
ODataClientSettings odcSettings = new ODataClientSettings();
                    //Define the URL
                    Uri uriOdata = new Uri(datosDeConexion.Url);
                    odcSettings.BaseUri = uriOdata;
                    odcSettings.Credentials = new NetworkCredential(datosDeConexion.Username, datosDeConexion.Password);                    
                    odcSettings.BeforeRequest = requestMessage =>
                    {
                        requestMessage.Headers.Accept.Clear();
                        requestMessage.Headers.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                        requestMessage.Headers.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/xml"));
                    };

                    /*
                    We establish the connection and we bring the metadata to know if it is connected
                    */
                    ODataClient client = new ODataClient(odcSettings);

                    IEdmModel metadata = await client.GetMetadataAsync<IEdmModel>();
                    var entityTypes = metadata.SchemaElements.OfType<IEdmEntityType>().ToArray();
                    label1.Text = "Connection successful";
                    label1.ForeColor = Color.Green;
                    button2.Enabled = true;               

我们没有更改代码或库,而是将提供程序升级到Ubuntu22.04.1LTS

我一直在寻找这个错误,但我无法理解适用于Simple.OData.Client的解决方案。我们使用的是Simple.OData.Client版本5.26.0.0,如果我使用来自OData的标准OData连接器(数据->Get数据->来自其他来源->OData提要),它可以正常工作,但我的代码不工作。这意味着我需要修理它但我不知道怎么做。

我们的证书没有问题

任何想法都是值得赞赏的

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-21 06:39:11

尝试将此代码添加到代码块的上方。

代码语言:javascript
复制
    System.Net.ServicePointManager.SecurityProtocol =
        SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

    ODataClientSettings odcSettings = new ODataClientSettings();
...

您可以在这里找到解释:https://learn.microsoft.com/en-us/dotnet/framework/network-programming/tls

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74145579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档