代码阅读:
//most of API providers require TLS 1.2 nowadays
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
//disable "X-AspNetMvc-Version" header name
MvcHandler.DisableMvcResponseHeader = true;
ServicePointManager: Manages the collection of ServicePoint objects.(MSDN)
ServicePoint:Provides connection management for HTTP connections.(MSDN)
The ServicePoint class handles connections to an Internet resource based on the host information passed in the resource's Uniform Resource Identifier (URI). The initial connection to the resource determines the information that the ServicePoint object maintains, which is then shared by all subsequent requests to that resource.
ServicePoint类处理连接到互联网的资源,基于主机的信息通过在资源的统一资源标识符(URI)。
对资源的初始连接决定了ServicePoint对象保持信息,然后由所有后续请求的资源共享。
MvcHandler:
(转载:http://www.cnblogs.com/zhuawang/archive/2013/05/27/3102834.html)
1、[MethodImplAttribute(MethodImplOptions.Synchronized)]仍然采用加锁的机制实现线程的同步。
2、如果[MethodImplAttribute(MethodImplOptions.Synchronized)]被应用到instance method,相当于对当前实例加锁。
3、如果[MethodImplAttribute(MethodImplOptions.Synchronized)]被应用到static method,相当于当前类型加锁
static int a = 0;
static void Main(string[] args)
{
Thread thread = new Thread(new ThreadStart(Work));
thread.Start();
Work();
thread.Join();
Console.WriteLine(a);
Console.ReadKey();
}
//[MethodImpl(MethodImplOptions.Synchronized)]
public static void Work()
{
for (int i = 0; i < 100000000; i++)
{
//lock (typeof(Program))
//{
a++;
//}
}
}