当前位置:编程学习 > C#/ASP.NET >>

很简单的C# 问题??


 public static void SendQueuedEmails(int failureInterval, int maxNumberOfTries)
        {


            string fromEmail = System.Configuration.ConfigurationManager.AppSettings["FromEmail"];
            string mailServerUserName = System.Configuration.ConfigurationManager.AppSettings["MailServerUserName"];
            string mailServerPassWord = System.Configuration.ConfigurationManager.AppSettings["MailServerPassWord"];
            string sendServer = System.Configuration.ConfigurationManager.AppSettings["SendServer"];
            short connectionLimit = Convert.ToInt16(System.Configuration.ConfigurationManager.AppSettings["SmtpServerConnectionLimit"]);
            List<EmailQueue> queues = EmailQueue.Provider.Select();
            ArrayList failure = new ArrayList();
            //SmtpClient smtp = new SmtpClient(sendServer);
            //smtp.DeliveryMethod = SmtpDeliveryMethod.Network;


            int sentCount = 0;
            int totalSent = 0;

            foreach (EmailQueue queue in queues)
            {
                    ThreadPool.QueueUserWorkItem(p =>
                    {
                        try
                        {
                                EmailQueue eq = (EmailQueue)p;
                                SmtpClient smtp = new SmtpClient(sendServer);
                                smtp.DeliveryMethod = SmtpDeliveryMethod.Network;

                                EmailTemplate email = new EmailTemplate(eq);
                                smtp.Credentials = new System.Net.NetworkCredential(mailServerUserName, mailServerPassWord);
                                if (email.From == null)
                                    email.From = new MailAddress(mailServerUserName);
                                smtp.Send(email);
                                //添加队列历史记录
                                EmailQueueHistory queueHistory = new EmailQueueHistory();
                                queueHistory.EmailID = eq.EmailID;
                                queueHistory.EmailPriority = eq.EmailPriority;
                                queueHistory.EmailBodyFormat = eq.EmailBodyFormat;
                                queueHistory.EmailTo = eq.EmailTo;
                                queueHistory.EmailCc = eq.EmailCc;
                                queueHistory.EmailBcc = eq.EmailBcc;
                                queueHistory.EmailFrom = eq.EmailFrom;
                                queueHistory.EmailSubject = eq.EmailSubject;
                                queueHistory.EmailBody = eq.EmailBody;
                                queueHistory.NextTryTime = eq.NextTryTime;
                                queueHistory.NumberOfTries = eq.NumberOfTries;
                                queueHistory.SettingsID = eq.SettingsID;
                                queueHistory.AttachNames = eq.AttachNames;
                                queueHistory.EmailSendTime = DateTime.Now;
                                EmailQueueHistory.Provider.Insert(queueHistory);
                               //本地执行,上传到服务器不执行Insert 方法,程序编译了n次。服务器运用程序池.net framework 2.0 本机开发代码为 .net framework 4.0。
                                EmailQueue.Provider.Delete(eq);
                                if (connectionLimit != -1 && ++sentCount >= connectionLimit)
                                {
                                    Thread.Sleep(new TimeSpan(0, 0, 0, 15, 0));
                                    sentCount = 0;
                                }
                        }
                        catch (Exception e)
                        {
                            log.Error("Email Send failure", e);
                        }

                    },queue);

                
            }

        }


本人对”=>“ 写法比太熟悉,请各位大神指教。 --------------------编程问答-------------------- lambda表达式,自己看帮助吧,理解为委托 --------------------编程问答-------------------- 不熟悉 --------------------编程问答-------------------- //添加队列历史记录
EmailQueueHistory queueHistory = new EmailQueueHistory();
queueHistory.EmailID = eq.EmailID;
queueHistory.EmailPriority = eq.EmailPriority;
queueHistory.EmailBodyFormat = eq.EmailBodyFormat;
queueHistory.EmailTo = eq.EmailTo;
queueHistory.EmailCc = eq.EmailCc;
queueHistory.EmailBcc = eq.EmailBcc;
queueHistory.EmailFrom = eq.EmailFrom;
queueHistory.EmailSubject = eq.EmailSubject;
queueHistory.EmailBody = eq.EmailBody;
queueHistory.NextTryTime = eq.NextTryTime;
queueHistory.NumberOfTries = eq.NumberOfTries;
queueHistory.SettingsID = eq.SettingsID;
queueHistory.AttachNames = eq.AttachNames;
queueHistory.EmailSendTime = DateTime.Now;
EmailQueueHistory.Provider.Insert(queueHistory);
//本地执行,上传到服务器不执行Insert 方法,程序编译了n次。
//服务器运用程序池.net framework 2.0 本机开发代码为 .net framework 4.0。
EmailQueue.Provider.Delete(eq);

这段不执行????
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,