不忘初心,回归本质 .net core

 static void Main(string[] args)
        {
            int i = 100;
            object j = i;//装箱  就是把值类型转换成引用类型

            int k = (int)j;//拆箱   就是把引用类型转换成值类型

            Console.WriteLine("i={0},j={1},k={2}", i,j,k);
           // 输出结果:i=100 j=100 k=100
        }

 控制台程序 装箱拆箱 回顾基础,了解各个性能原理。

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Aync异步:异步方法

可以看到调用RequestPostWebAsync() 方法会解析代码,然后返回一个Task<JObject>对象。最耗性能的地方在为PostAsync实例分配内存并解析代码。方法中返回一个Task对象,因此调用者可以await解析工作,然后释放UI线程使得可以响应用户的输入。

        /// <summary>
        ///  异步方式 请求解析URL返回数据  post
        /// </summary>
        /// <param name="URL"></param>
        public async Task<JObject> RequestPostWebAsync(string URL, object postvalues)
        {
            var result = "";
            try
            {
                using (HttpClient http = new HttpClient())
                {
                    HttpContent content = new StringContent(JsonConvert.SerializeObject(postvalues).ToString(), Encoding.UTF8, "text/json");
                    var response = await http.PostAsync(URL, content);
                    //确保HTTP成功状态值
                    response.EnsureSuccessStatusCode();
                        result = await response.Content.ReadAsStringAsync();
                }
            }
            catch (WebException e)
            {

                logger.LogError(e.Message);
            }
          
            var jsonVal = JObject.Parse(result);
           
            return jsonVal;

        }

 

posted @ 2018-01-30 14:34  蜜雪粮液  阅读(287)  评论(0)    收藏  举报