我对RestSharp提出了一个非常简单的Web请求:
var client = new RestClient("https://website.net");
var request = new RestRequest("/process", Method.GET);
request.AddParameter("cmd", "execute");
IRestResponse response = client.Execute(request);
var content = response.Content;
Console.WriteLine("Response: " + content);
Run Code Online (Sandbox Code Playgroud)
这将返回错误消息:
该请求已中止:无法创建SSL / TLS安全通道
三件事:
他们的证书使用的是TLS 1.2和AES 128,因此它与RC4引起的错误无关。
这是在Visual Studio 2015中的本地Win 10计算机上,目标框架为.NET 4.5.2。
为什么会出现此错误?
编辑:
通过更改代码以使用基本System.Net和WebRequest类并添加以下行:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
Run Code Online (Sandbox Code Playgroud)
正如从这里建议的那样,它有效。所以我猜RestSharp由于某种原因使用了错误的协议?
我有这两个假设的常量:
int const MATRIX_SIZE = 1000;
int const LONGEST_LR_LINK = (int)floor(MATRIX_SIZE/2);
Run Code Online (Sandbox Code Playgroud)
我试图声明一个数组:
int lrLinkArray [LONGEST_LR_LINK];
Run Code Online (Sandbox Code Playgroud)
我收到错误:
错误:数组绑定在']'标记之前不是整数常量
手动插入MATRIX_SIZE用于LONGEST_LR_LINK的任何一半都不会那么麻烦,但我很好奇这个解决方案是什么.对const进行任何计算是不好的做法吗?