public async Task<int> Add(HttpContext context, int a, int b)
		{
			context.WriteHeader("Add-before-await");

			context.WriteHeader("---------------------------------------------------------");

			int c = await AddSync(a, b);

			context.WriteHeader("Add-after-await-return");

			return c + 99;
		}
		public async Task<PageResult> GetWebsiteTitles(HttpContext context, string urls)
		{
			context.WriteHeader("action-before-await");

			context.WriteHeader("---------------------------------------------------------");


			TestTaskPageViewData viewData = new TestTaskPageViewData();
			viewData.Input = urls;

			if( string.IsNullOrEmpty(urls) ) {
				viewData.Input = @"
http://cn.bing.com/
http://email.163.com/
http://www.aliyun.com/
http://baike.baidu.com/
http://www.dingtalk.com/
http://www.taobao.com/
http://www.tmall.com/";
			}
			else {
				string[] urlArray = urls.SplitTrim('\r', '\n');
				List<KeyValuePair<string, string>> list = new List<KeyValuePair<string, string>>(urlArray.Length);

				foreach( string url in urlArray ) {
					try {
						HttpOption option = new HttpOption {
							Url = url,
							Timeout = 2000
						};
						string text = await HttpClient.SendAsync<string>(option);
						context.WriteHeader("HttpClient.SendAsync<string>(url)--after-await");

						string title = GetHtmlTitle(text) ?? "-----------------";

						list.Add(new KeyValuePair<string, string>(url, title));
					}
					catch( Exception ex ) {
						list.Add(new KeyValuePair<string, string>(url, ex.GetBaseException().Message));
					}

					viewData.Result = list;
				}
			}

			context.WriteHeader("action-after-await-return");

			return new PageResult(null, viewData);
		}