婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > asp.net BackgroundWorker之在后臺(tái)下載文件

asp.net BackgroundWorker之在后臺(tái)下載文件

熱門(mén)標(biāo)簽:銅川小型外呼系統(tǒng)運(yùn)營(yíng)商 上海楊浦怎么申請(qǐng)申請(qǐng)400電話(huà) 云南外呼電銷(xiāo)機(jī)器人系統(tǒng) 海外地圖標(biāo)注門(mén)市標(biāo) 浙江外呼系統(tǒng)怎么安裝 陜西人工外呼系統(tǒng)哪家好 山西防封卡電銷(xiāo)卡套餐 廈門(mén)商鋪地圖標(biāo)注 地圖標(biāo)注多個(gè)行程
示例:
下面的代碼示例演示如何使用 BackgroundWorker 組件從 URL 加載 XML 文件。用戶(hù)單擊“下載”按鈕時(shí),Click 事件處理程序?qū)⒄{(diào)用 BackgroundWorker 組件的 RunWorkerAsync 方法來(lái)啟動(dòng)下載操作。在下載過(guò)程中,將禁用該按鈕,然后在下載完成后再啟用該按鈕。MessageBox 將顯示文件的內(nèi)容。
復(fù)制代碼 代碼如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Threading;
using System.Windows.Forms;
using System.Xml;
public class Form1 : Form
{
private BackgroundWorker backgroundWorker1;
private Button dowloadButton;
private XmlDocument document = null;
public Form1()
{
InitializeComponent();
}
private void dowloadButton_Click(object sender, EventArgs e)
{
// Start the download operation in the background.
this.backgroundWorker1.RunWorkerAsync();
// Disable the button for the duration of the download.
this.dowloadButton.Enabled = false;
// Wait for the BackgroundWorker to finish the download.
while (this.backgroundWorker1.IsBusy)
{
// Keep UI messages moving, so the form remains
// responsive during the asynchronous operation.
Application.DoEvents();
}
// The download is done, so enable the button.
this.dowloadButton.Enabled = true;
}
private void backgroundWorker1_DoWork(
object sender,
DoWorkEventArgs e)
{
document = new XmlDocument();
// Replace this file name with a valid file name.
document.Load(@"http://www.tailspintoys.com/sample.xml");
// Uncomment the following line to
// simulate a noticeable latency.
//Thread.Sleep(5000);
}
private void backgroundWorker1_RunWorkerCompleted(
object sender,
RunWorkerCompletedEventArgs e)
{
if (e.Error == null)
{
MessageBox.Show(document.InnerXml, "Download Complete");
}
else
{
MessageBox.Show(
"Failed to download file",
"Download failed",
MessageBoxButtons.OK,
MessageBoxIcon.Error );
}
}
/// summary>
/// Required designer variable.
/// /summary>
private System.ComponentModel.IContainer components = null;
/// summary>
/// Clean up any resources being used.
/// /summary>
/// param name="disposing">true if managed resources should be disposed; otherwise, false./param>
protected override void Dispose(bool disposing)
{
if (disposing (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// /summary>
private void InitializeComponent()
{
this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
this.dowloadButton = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// backgroundWorker1
//
this.backgroundWorker1.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorker1_DoWork);
this.backgroundWorker1.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.backgroundWorker1_RunWorkerCompleted);
//
// dowloadButton
//
this.dowloadButton.Location = new System.Drawing.Point(12, 12);
this.dowloadButton.Name = "dowloadButton";
this.dowloadButton.Size = new System.Drawing.Size(75, 23);
this.dowloadButton.TabIndex = 0;
this.dowloadButton.Text = "Download file";
this.dowloadButton.UseVisualStyleBackColor = true;
this.dowloadButton.Click += new System.EventHandler(this.dowloadButton_Click);
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(104, 54);
this.Controls.Add(this.dowloadButton);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
}
#endregion
}
static class Program
{
/// summary>
/// The main entry point for the application.
/// /summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.Run(new Form1());
}
}

下載文件:
文件下載在 BackgroundWorker 組件的輔助線(xiàn)程上進(jìn)行,該線(xiàn)程運(yùn)行 DoWork 事件處理程序。當(dāng)代碼調(diào)用 RunWorkerAsync 方法時(shí),將啟動(dòng)此線(xiàn)程。
復(fù)制代碼 代碼如下:

private void backgroundWorker1_DoWork(
object sender,
DoWorkEventArgs e)
{
document = new XmlDocument();
// Replace this file name with a valid file name.
document.Load(@"http://www.tailspintoys.com/sample.xml");
// Uncomment the following line to
// simulate a noticeable latency.
//Thread.Sleep(5000);
}

等待 BackgroundWorker 完成
dowloadButton_Click 事件處理程序演示如何等待 BackgroundWorker 組件完成它的異步任務(wù)。使用 IsBusy 屬性可以確定 BackgroundWorker 線(xiàn)程是否仍在運(yùn)行。如果代碼在主 UI 線(xiàn)程上(對(duì)于 Click 事件處理程序即是如此),請(qǐng)務(wù)必調(diào)用 Application.DoEvents 方法以使用戶(hù)界面能夠響應(yīng)用戶(hù)操作。
復(fù)制代碼 代碼如下:

private void dowloadButton_Click(object sender, EventArgs e)
{
// Start the download operation in the background.
this.backgroundWorker1.RunWorkerAsync();
// Disable the button for the duration of the download.
this.dowloadButton.Enabled = false;
// Wait for the BackgroundWorker to finish the download.
while (this.backgroundWorker1.IsBusy)
{
// Keep UI messages moving, so the form remains
// responsive during the asynchronous operation.
Application.DoEvents();
}
// The download is done, so enable the button.
this.dowloadButton.Enabled = true;
}

顯示結(jié)果
backgroundWorker1_RunWorkerCompleted 方法將處理 RunWorkerCompleted 事件,并在后臺(tái)操作完成后被調(diào)用。它首先檢查 AsyncCompletedEventArgs.Error 屬性,如果該屬性是 null,它將顯示文件內(nèi)容。
復(fù)制代碼 代碼如下:

private void backgroundWorker1_RunWorkerCompleted(
object sender,
RunWorkerCompletedEventArgs e)
{
if (e.Error == null)
{
MessageBox.Show(document.InnerXml, "Download Complete");
}
else
{
MessageBox.Show(
"Failed to download file",
"Download failed",
MessageBoxButtons.OK,
MessageBoxIcon.Error );
}
}
您可能感興趣的文章:
  • ASP.NET Web Api 2實(shí)現(xiàn)多文件打包并下載文件的實(shí)例
  • ASP.NET(C#) Web Api通過(guò)文件流下載文件的實(shí)例
  • ASP.NET批量下載文件的方法
  • ASP.NET 在下載文件時(shí)對(duì)其重命名的思路及實(shí)現(xiàn)方法
  • asp.net C#實(shí)現(xiàn)下載文件的六種方法實(shí)例
  • ASP.NET中下載文件的幾種實(shí)例代碼
  • 在ASP.NET中下載文件的實(shí)現(xiàn)代碼
  • asp.net 下載文件時(shí)根據(jù)MIME類(lèi)型自動(dòng)判斷保存文件的擴(kuò)展名
  • asp.net 下載文件時(shí)輸出文件內(nèi)容
  • asp.net Web Services上傳和下載文件(完整代碼)
  • ASP.NET實(shí)現(xiàn)從服務(wù)器下載文件問(wèn)題處理

標(biāo)簽:常州 朔州 自貢 信陽(yáng) 許昌 萊蕪 孝感 西雙版納

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《asp.net BackgroundWorker之在后臺(tái)下載文件》,本文關(guān)鍵詞  asp.net,BackgroundWorker,之在,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《asp.net BackgroundWorker之在后臺(tái)下載文件》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于asp.net BackgroundWorker之在后臺(tái)下載文件的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 故城县| 历史| 特克斯县| 延川县| 天全县| 安多县| 肇庆市| 阳春市| 盈江县| 大渡口区| 铜梁县| 合肥市| 定襄县| 健康| 滦平县| 泰州市| 增城市| 房山区| 铜梁县| 东山县| 邓州市| 乐至县| 永登县| 兴义市| 兴国县| 海城市| 永川市| 邹城市| 南靖县| 桃江县| 勃利县| 林西县| 新野县| 赤壁市| 扶绥县| 海南省| 广安市| 宜阳县| 湄潭县| 增城市| 康乐县|