C# 防止多个线程运行同一后台进程

C# 防止多个线程运行同一后台进程,c#,asp.net,multithreading,iis,web-garden,C#,Asp.net,Multithreading,Iis,Web Garden,我有一个asp.net网站,运行后台服务,每分钟发送排队的电子邮件。问题是,我们将多个工作进程移动到一个web花园,并且电子邮件会在同一时间或接近它的位置多次发送,因为多个线程正在调用该后台进程 有没有办法分配一个线程,或者每分钟只有一个线程运行这个进程,然后告诉其他线程忽略它 谢谢 我必须使用互斥锁来防止这种情况你是说多个线程可以发送相同的排队电子邮件吗?这似乎是排队机制中的一个缺陷。或者你是说多个线程可以对同一封电子邮件排队?这里需要更详细的信息。多个线程可以对同一封电子邮件排队。您的后台服

我有一个asp.net网站,运行后台服务,每分钟发送排队的电子邮件。问题是,我们将多个工作进程移动到一个web花园,并且电子邮件会在同一时间或接近它的位置多次发送,因为多个线程正在调用该后台进程

有没有办法分配一个线程,或者每分钟只有一个线程运行这个进程,然后告诉其他线程忽略它


谢谢

我必须使用互斥锁来防止这种情况

你是说多个线程可以发送相同的排队电子邮件吗?这似乎是排队机制中的一个缺陷。或者你是说多个线程可以对同一封电子邮件排队?这里需要更详细的信息。多个线程可以对同一封电子邮件排队。您的后台服务机制是什么?是w3wp.exe中的专用线程检查数据库中的新任务,还是像Quartz这样的NT服务?