我们有个 API 站点使用了自签名的证书做 https,如果在浏览器中访问这个站点必然会弹出证书警告,忽略就好。当使用 HttpClient 向这个站点发起请求的时候,也必然会抛异常,那如何才能让 HttpClient 也忽略证书问题呢?在经典 .NET Framework 中,可以这么做:
1 | // using System.Net |
我们有个 API 站点使用了自签名的证书做 https,如果在浏览器中访问这个站点必然会弹出证书警告,忽略就好。当使用 HttpClient 向这个站点发起请求的时候,也必然会抛异常,那如何才能让 HttpClient 也忽略证书问题呢?在经典 .NET Framework 中,可以这么做:
1 | // using System.Net |
发现一篇有关 .NET Framework 部署的官方文档,包含很多有用的信息,比如
请看下面的例子,一目了然:
1 | static void Main(string[] args) |
输出为:
1 | 1,234.57 |
C#是从 C# 4.0(随着 .NET Framework 4和VS 2010)开始支持可选参数的。具体来说,就是可以用C#写如下的代码:
1 | public int Add(int a, int b = 5) |
在这之前,通常是使用方法重载来达到相同目的:
1 | public int Add(int a, int b) |
实际上,我们完全可以通过2个Attribute来达到可选参数的目的。这2个Attribute存在于System.Runtime.InteropServices命名空间,分别为:
OptionalAttributeDefaultParameterValueAttribute代码看起来是这样:
1 | public int Add(int a, [Optional][DefaultParameterValue(5)]int b) |
这2个Attribute自 .NET Framework 1.1时代就有了,惭愧我现在才知道……