Пример #1
0
 private static void _smsSend_timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
 {
     _smsSend_timer.Stop();
     try
     {
         if (_SmsFlag == "off")
         {
             _smsSend_lastPrecent = 101;
             return;
         }
         Model.Model_SmsReord sms = SmsRecordServer.GetNextWaitSendSmsRecord();
         if (sms != null)
         {
             _smsSend_lastPrecent = 1;
             System.Console.WriteLine("");
             string          smsModel = sms.Arrived == Model.MyEnum.Enum_Arrived.InTransit ? _smsTookModel : _smsArriveModel;
             SmsHandleHelper smsHelp  = new SmsHandleHelper(new List <Model.Model_SmsReord>()
             {
                 sms
             }, smsModel);
             smsHelp.ThreadCount   = 1;
             smsHelp.OneCompleted += SmsHelp_OneCompleted;
             smsHelp.AllCompleted += SmsHelp_AllCompleted;
             smsHelp.Start();
         }
         else
         {
             _smsSend_lastPrecent = 101;
             System.Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":没有查询到或跳过此次待发送的短信记录");
         }
     }
     catch (Exception ex)
     {
         _smsSend_lastPrecent = 101;
         System.Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ":启动短信发送器失败:" + ex.Message);
     }
     finally
     {
         while (_smsSend_lastPrecent != 101)
         {
             Thread.Sleep(500);
         }
         _smsSend_timer.Interval = _smsSendInterval * 1000;
         _smsSend_timer.Start();
     }
 }
Пример #2
0
        protected override DoWorkResult DoWork(Model_SmsReord sms)
        {
            try
            {
                string smsContent = _SmsContentModel.Replace("【运单编号】", sms.Number).Replace("【发货单位】", sms.SenderOrg).Replace("【收货单位】", sms.ReceiverOrg).Replace("【车牌号码】", sms.StorageName);
                sms.SmsContent = smsContent;
                sms.SendTime   = DateTime.Now;
                if (string.IsNullOrEmpty(sms.SmsReceiver) || sms.SmsReceiver.Length != 11)
                {
                    sms.SendResult = "接收短信号码不正确";
                }
                else
                {
                    sms.SendResult = SmsSendHelper.SendSms(sms.SmsReceiver, sms.SmsContent);
                }
            }
            catch (Exception ex)
            {
                sms.SendResult = ex.Message;
                //throw ex;
                //return DoWorkResult.AbortCurrentThread;//有异常,可以终止当前线程.当然.也可以继续,
                //return  DoWorkResult.AbortAllThread; //特殊情况下 ,有异常终止所有的线程...
            }
            finally
            {
                try
                {
                    SmsRecordServer.AddSendSmsRecord(sms);
                    //Console.WriteLine("发送短信:"+sms.SmsContent+" 接收号码:"+sms.SmsReceiver+" 发送结果:"+sms.SendResult);
                }
                catch (Exception ex)
                {
                    LogServer.AddLogText("保存发送记录出错:" + ex.Message, "SMS_" + DateTime.Now.ToString("yyyyMMdd"));
                }
            }
            //return base.DoWork(pendingValue);


            return(DoWorkResult.ContinueThread);
        }