2013-05-17 159 views
2

我想執行我的web應用程序中的某些功能,而不需要像在windows應用程序中的後臺進程一樣提示用戶正在運行的進程。如何在ASP.Net web應用程序中運行後臺進程

我想觸發後臺進程,當用戶點擊並想要發送一些數據到這些功能。

任何人都可以告訴我這是如何執行的嗎?

+0

http://www.codeproject.com/Articles/349139/Running-a-background-service-in-a-Web-Application – Rahul

+0

已經嘗試過這一點,但在這種情況下,我沒有工作,因爲我想要觸發後臺進程,當用戶點擊併發送一些數據到這些功能也 –

+0

http://www.dotnetfunda.com/articles/article613-background-processes-in-asp-net-web-applications.aspx – mck

回答

2
private readonly BackgroundWorker backgroundWorker1 = new BackgroundWorker(); 

protected void Page_Load(object sender, EventArgs e) 
    { 
     this.backgroundWorker1.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorker1_DoWork); 
    } 

    private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) 
    { 
     try 
     { 
      timing(); 
     } 
     catch 
     { 
     } 
    } 

    public void timing() 
    { 
     string tt = DateTime.Now.ToString("tt"); 
     string t = ""; 
     if (tt == "AM") 
     { 
      int hour = DateTime.Now.Hour; 
      if ((hour >= 0) & (hour <= 11)) 
      { 
       t = "GOOD MORNING"; 
      } 
     } 
     else if (tt == "PM") 
     { 
      int hour = DateTime.Now.Hour; 
      if ((hour >= 12) & (hour <= 15)) 
      { 
       t = "GOOD AFTERNOON"; 
      } 
      else if ((hour >= 16) & (hour <= 23)) 
      { 
       t = "GOOD EVENING"; 
      } 
     } 
     Label1.Text = t; 
    } 
    protected void Button1_Click(object sender, EventArgs e) 
    { 
     backgroundWorker1.RunWorkerAsync(); 
    } 


//SOURCE: 

<%@ Page Language="C#" Async="true" AutoEventWireup="true" CodeFile="background.aspx.cs" Inherits="background" %> //Async="true" 
+5

我看到的代碼是整潔和圓滑的,但你需要提到這個代碼需要實現的地方。 – Vikneshwar

+1

此代碼看起來不錯。但是沒有解釋,也沒有背景工作者的定義。它是從.Net導入的嗎?你自己寫了課?這些是人們需要知道的事情,否則你會將其解釋爲公開的,因此失敗和錯誤會讓其他人視之爲不信任和不確定的問題,這會損害你的聲譽。請解決它,讓我知道你什麼時候有,我會投票,而不是倒下。 –