[英]Run code in Background Worker
我正在尝试使用asp.net。 我有一个很小的问题。 在我的按钮单击事件之一中,我有繁重的任务需要执行,这会导致问题。 我如何在后台工作程序中运行此代码。 任何提示将不胜感激,因为我还没有和这个后台工作者一起玩过。
这是我的后台工作者的代码。
protected void green_button_Click(object sender, EventArgs e)
{
string stdOut = null;
string stdError = null;
string address = "192.168.1.88";
string user = "user";
string pass = "testuser";
SshExec ssh = new SshExec(address, user, pass);
green_output.Text = "Connecting...";
green_output.Text = "Connected";
ssh.Connect();
ssh.RunCommand("cfg_green " + green_textbox1.Text + " " + green_textbox2.Text + " " + green_textbox3.Text, ref stdOut, ref stdError);
green_output.Text = stdOut;
//green_output.Text = stdError;
ssh.Close();
// green_output.Text = "Disconnect";
}
一般而言,您的问题有点笼统。 不知道您的意思是WinForms中可用的后台工作者类(您的标记表示您的意思是asp.net 5)。 您真的要使用精确的此类吗?
但我建议您使用任务。 请参阅MSDN Task Parallel Library
您可以在此处创建并等待任务。
var result = await Task.Run(() => myBackgroundWork());
此外,如果您的后台代码支持异步(例如,网络流量),则可以在不使用线程的情况下使simplay等待它,并使代码异步。
例如,参见“没有线程进行工作” 。 线程总是要付出代价的,您可能不想为此付出代价。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.