![]() |
1
3
没有理由把它作为一个Web服务来实现,特别是当您在其中有10秒钟的睡眠,可能会发生多次,这可能会超时。此外,作为ASP.NET下的一个长期运行的过程,您会面临应用程序池回收丢失任何尚未发送的邮件的风险。 一种更简单/更好的处理方法是将电子邮件存储到数据库中,然后从数据库中处理它们,在发送电子邮件后从表中删除记录。如果您使用类似于Windows服务的服务,它也会更加健壮。( 不 Web服务)或由 Scheduled Task 执行发送每个电子邮件的代码。 综上所述:
另外,您的代码有一行
|
![]() |
2
1
我认为你在这里的最佳选择是在BroadcastMail方法中生成一个单独的线程,并让该线程处理邮件——这样你就可以在触发广播的同时及时返回BroadcastMail方法。 不过,我不是一个ASP.NET程序员,如果这种方法会遇到与流程回收等相关的问题,我准备被击落。 |
![]() |
3
0
服务CS 使用系统; 使用system.collections.generic; |
![]() |
4
-1
另外,您迭代了一个名为“dv”的集合,但您从未使用过该集合,这是为什么? |