简化了 异步流程的编写 和 异常的捕获
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Linq.Expressions;
using System.Net;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace ConsoleApp21
{
class Program
{
private static async Task WriteWebRequestSizeAsync(string url)
{
try
{
WebRequest webRequest = WebRequest.Create(url);
WebResponse response = await webRequest.GetResponseAsync();
using (StreamReader reader = new StreamReader(
response.GetResponseStream()))
{
string text = await reader.ReadToEndAsync();
Console.WriteLine(FormateBytes(text.Length));
}
}
catch (WebException e)
{
}
catch (IOException ei)
{
}
catch (NotSupportedException ne)
{
}
}
static void Main(string[] args)
{
string url= "https://www.google.com/";
if (args.Length > 0)
{
url = args[0];
}
Console.WriteLine(url);
Task task = WriteWebRequestSizeAsync(url);
//指定Task 在特定的时间内完成
// 如果在指定时间内完成则 返回 true ,否者返回false
while (!task.Wait(100))
{
Console.Write(".");
}
Console.Read();
}
private static bool FormateBytes(int length)
{
if (length > 0)
Console.WriteLine(length);
else
return false;
return true;
}
}
}



