在asp.net表单中排队线程

时间:2015-05-05 05:41:51

标签: c# asp.net multithreading

所以我有一个.net表单应用程序,它允许用户查看pdf并单击一个调用线程的按钮并将PDF转换为JPG文件。

只需每5秒左右点击一次按钮就可以实现... ...有没有办法将这些线程排队,以便它们每20秒运行一次?

非常感谢任何帮助。

private Thread workerThread = null;

private void HeavyOperation()           
{
   MagickImage image = new MagickImage(string.Format(@"c:\Portal\Portal\Scratch\PendingPDF\{0}",PDF));
   image.Write(string.Format("C:\\ECG\\PendingPDF\\{0}.jpg", Id));

}

protected void Button1_Click(object sender, EventArgs e)
{
   this.workerThread = new Thread(new ThreadStart(HeavyOperation));
   this.workerThread.Start();
}

该错误与运行多个实例并尝试运行临时文件的ghost脚本有关。

异常消息

  

iisexpress.exe:PDFDelegateFailed`[ghostscript的库9.16] -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap = 5亿-dAlignToPixels = 0 -dGridFitTT = 2 “= -sDEVICE pngalpha” -dTextAlphaBits = 4 -dGraphicsAlphaBits = 4“-r72x72”-dFirstPage = 1 -dLastPage = 1“-sOutputFile = C:/Users/FLYNNH~1.CAR/AppData/Local/Temp/magick-10484A-8hpdtwYDYR%d”“ - fC:/ Users / FLYNNH~1.CAR / AppData / Local / Temp / magick-10484B8rfiCrx57IP“” - fC:/Users/FLYNNH~1.CAR/AppData/Local/Temp/magick-10484yu7IrjEMvrha“:( null)'@ error / pdf.c / ReadPDFImage / 788

1 个答案:

答案 0 :(得分:0)

Scott Hanselman建议用于此类任务HangFire

可以使用nuget包来安排asp.net中的后台作业。