[HttpGet] public async Task<string> Get(string str) { GetDataHelper sqlHelper = new GetDataHelper(); switch (str) { :// return await sqlHelper.GetDataAsync(); :// return sqlHelper.GetData(); } ; }
5¡¢½Ó×ÅÉÏÃæµÄwinform³ÌÐòÀïÃæ²âÊÔÇëÇó£º(ͬʱ·¢Æð10¸öÇëÇó)
private void button6_Click(object sender, EventArgs e) { textBox1.Text = ""; label1.Text = ""; Task.Run(() => { TestResultUrl(); }); } private void button5_Click(object sender, EventArgs e) { textBox1.Text = ""; label1.Text = ""; Task.Run(() => { TestResultUrl(); }); } public void TestResultUrl(string url) { int resultEnd = 0; HttpClient http = new HttpClient(); int number = 10; for (int i = 0; i < number; i++) { new Thread(async () => { var resultStr = await http.GetStringAsync(url); label1.Invoke((Action)(() => { textBox1.AppendText(resultStr.Replace() + ); if (++resultEnd >= number) { label1.Text = ; } })); }).Start(); } }
View Code6¡¢ÖØÆôiis£¬²¢ÓÃä¯ÀÀÆ÷·ÃÎÊÒ»´ÎÒªÇëÇóµÄÁ´½ÓµØÖ·£¨Ô¤ÈÈ£©
7¡¢Æô¶¯winform³ÌÐò£¬µã»÷“·ÃÎÊͬ²½ÊµÏÖµÄWeb”£º
8¡¢Öظ´6£¬È»ºóÖØÐÂÆô¶¯winform³ÌÐòµã»÷“·ÃÎÊÒ첽ʵÏÖµÄWeb”
¿´µ½ÕâЩÊý¾ÝÓÐʲô¸ÐÏ룿
Êý¾ÝºÍÎÒÃÇÇ°ÃæµÄ¡¾Õý½â¡¿ÍêÈ«ÎǺϡ£×Ðϸ¹Û²ì£¬Ã¿¸öµ¥´ÎÇëÇóÓÃʱ»ù±¾ÉÏÏà²î²»´ó¡£ µ«ÊDz½Öè7"ͬ²½ÊµÏÖ"×î¸ßͶÈëwebÏß³ÌÊýÊÇ10,¶ø²½Öè8“Ò첽ʵÏÖ”×î¸ßͶÈëwebÏß³ÌÊýÊÇ3¡£
Ò²¾ÍÊÇ˵“Ò첽ʵÏ֔ʹÓøüÉÙµÄwebÏß³ÌÍê³ÉÁËͬÑùµÄÇëÇóÊýÁ¿£¬Èç´ËÒ»À´ÎÒÃǾÍÓиü¶àÊ£ÓàµÄwebÏß³ÌÈ¥´¦Àí¸ü¶àÓû§·¢ÆðµÄÇëÇó¡£
½Ó×ÅÎÒÃÇ»¹·¢ÏÖͬ²½ÊµÏÖÇëÇóÇ°ºóµÄÏß³ÌIDÊÇÒ»Öµģ¬¶øÒ첽ʵÏÖÇ°ºóÏß³ÌID²»Ò»¶¨Ò»Ö¡£ÔÙ´ÎÖ¤Ã÷Ö´ÐÐawaitÒ첽ǰÊÍ·ÅÁËÖ÷Ï̡߳£
¡¾½áÂÛ¡¿£º
¡¾Í¼½â¡¿£º
ResultµÄËÀËøÏÝÚåÎÒÃÇÔÚ·ÖÎöUIµ¥Ï̳߳ÌÐòµÄʱºò˵¹ý£¬ÒªÉ÷ÓÃÒì²½µÄResultÊôÐÔ¡£ÏÂÃæÎÒÃÇÀ´·ÖÎö£º
private void button4_Click(object sender, EventArgs e) { label1.Text = GetUlrString().Result; } public async Task<string> GetUlrString(string url) { using (HttpClient http = new HttpClient()) { return await http.GetStringAsync(url); } }
´úÂë ).Result µÄResultÊôÐÔ»á×èÈû(Õ¼ÓÃ)UIỊ̈߳¬¶øÖ´Ðе½GetUlrString·½·¨µÄ awaitÒì²½µÄʱºòÓÖÒªÊÍ·ÅUIÏ̡߳£´Ëʱì¶Ü¾ÍÀ´ÁË£¬ÓÉÓÚÏß³Ì×ÊÔ´µÄÇÀÕ¼µ¼ÖÂËÀËø¡£
¡¡