我想执行我的web应用程序中的某些功能,而不需要像在windows应用程序中的后台进程一样提示用户正在运行的进程。如何在ASP.Net web应用程序中运行后台进程
我想触发后台进程,当用户点击并想要发送一些数据到这些功能。
任何人都可以告诉我这是如何执行的吗?
我想执行我的web应用程序中的某些功能,而不需要像在windows应用程序中的后台进程一样提示用户正在运行的进程。如何在ASP.Net web应用程序中运行后台进程
我想触发后台进程,当用户点击并想要发送一些数据到这些功能。
任何人都可以告诉我这是如何执行的吗?
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"
我看到的代码是整洁和圆滑的,但你需要提到这个代码需要实现的地方。 – Vikneshwar
此代码看起来不错。但是没有解释,也没有背景工作者的定义。它是从.Net导入的吗?你自己写了课?这些是人们需要知道的事情,否则你会将其解释为公开的,因此失败和错误会让其他人视之为不信任和不确定的问题,这会损害你的声誉。请解决它,让我知道你什么时候有,我会投票,而不是倒下。 –
虽然它解决了一个更为复杂的问题AsyncRunner类从这篇文章是一个(使用IoC的地方对象生存的作用域的请求时,如何做到这一点)良好的起点。
http://www.codeproject.com/Articles/349139/Running-a-background-service-in-a-Web-Application – Rahul
已经尝试过这一点,但在这种情况下,我没有工作,因为我想要触发后台进程,当用户点击并发送一些数据到这些功能也 –
http://www.dotnetfunda.com/articles/article613-background-processes-in-asp-net-web-applications.aspx – mck