//private static readonly log4net.ILog _log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); public void Execute(IJobExecutionContext context) { string name = context.Trigger.Key.Name; string[] arrContext = name.Split('-'); MessageTransaction messageTransaction = new MessageTransaction(); messageTransaction.GetFileListItem(arrContext[0], arrContext[1], arrContext[2]); //Console.WriteLine(string.Format("{0} {1}", "First Task is executing.", DateTime.Now.ToString())); //_log.Info(string.Format("{0} {1}", "First Task is executing.", DateTime.Now.ToString())); // Get time base ex. 2:15am => 2:00am // Get list from FileListProc where from 2:00am between (based time + 1) // Get list from FileListProc where from 2:00am between 3:00am }
public IActionResult SentMessage([FromBody] MessageContent Message) { try { if (Message == null) { return(BadRequest("حذث خطأ في ارسال البيانات الرجاء إعادة الادخال")); } var userId = this.help.GetCurrentUser(HttpContext); if (userId <= 0) { return(BadRequest("لا يمكنك الوصول لهذه الصفحة , الرجاء تسجيل الدخول")); } Messages MS = new Messages(); MS.CreatedBy = userId; MS.CreatedOn = DateTime.Now; MS.Payload = Message.Payload; MS.Subject = Message.Subject; db.Messages.Add(MS); MessageTransaction MT = new MessageTransaction(); MT.SentByStudent = userId; MT.RecivedByStudent = Message.RecivedByStudent; MT.MessageId = MS.MesssageId; MT.CreatedBy = userId; MT.CreatedOn = DateTime.Now; MT.IsRead = 1; db.MessageTransaction.Add(MT); db.SaveChanges(); return(Ok("لقد قمت بإرسال الرسالة بنـجاح")); } catch (Exception e) { return(StatusCode(500, e.Message)); } }
/// <summary> /// 创建一个新的网络事务 /// </summary> /// <param name="appName">目标APP的名称</param> /// <param name="target">标示网络终点接的协议簇组合</param> /// <param name="maximumRspTime">等待当前网络事务RSP消息的最大时间</param> /// <param name="resourceUri">KAE资源URI</param> /// <param name="balanceFlag">负载标识</param> /// <param name="communicationType">通信方式</param> /// <param name="version"> /// 目标APP的版本 /// <para>* 默认为: latest</para> /// </param> /// <param name="protocolSelf"> /// 使用的协议栈的角色 /// <para>* 如果当前事务代理器所承载的消息协议为MetadataContainer时请忽略此参数</para> /// </param> /// <returns>返回新的事务</returns> public IMessageTransaction <TMessage> CreateTransaction(string appName, Protocols target, TimeSpan maximumRspTime, long balanceFlag, string version = "latest", KAEResourceUri resourceUri = null, NetworkCommunicationTypes communicationType = NetworkCommunicationTypes.Dulplex, string protocolSelf = null) { if (string.IsNullOrEmpty(appName)) { throw new ArgumentNullException("appName"); } string errMsg; ApplicationLevel level = (resourceUri == null ? ApplicationLevel.Stable : _callback(resourceUri)); KAERingNode ringNode; IServerConnectionAgent <TMessage> agent = _cluster.GetChannel(target, level, _container.GetDefaultProtocolStack(_cluster.ProtocolType), balanceFlag, out errMsg, out ringNode); if (agent == null) { lock (_lockObj) { //try to obtains agent object again for ensuring that the newest remoting addresses can be appliy in the multiple threading env. agent = _cluster.GetChannel(target, level, _container.GetDefaultProtocolStack(_cluster.ProtocolType), balanceFlag, out errMsg, out ringNode); if (agent == null && !GetMissedRemoteAddresses(appName, version, target, level)) { return(new FailMessageTransaction <TMessage>(errMsg)); } agent = _cluster.GetChannel(target, level, _container.GetDefaultProtocolStack(_cluster.ProtocolType), balanceFlag, out errMsg, out ringNode); //check returned value again for avoiding couldnt connect to the remote address now. if (agent == null) { return(new FailMessageTransaction <TMessage>(errMsg)); } } } MessageTransaction <TMessage> transaction = NewTransaction(new Lease(DateTime.Now.Add(maximumRspTime)), agent.GetChannel()); transaction.SetMessageIdentity(new MessageIdentity { ProtocolId = (byte)target.ProtocolId, ServiceId = (byte)target.ServiceId, DetailsId = (byte)target.DetailsId }); transaction.TransactionManager = _transactionManager; transaction.Identity = (communicationType == NetworkCommunicationTypes.Dulplex ? IdentityHelper.Create(agent.GetChannel().LocalEndPoint, TransportChannelTypes.TCP) : IdentityHelper.CreateOneway(agent.GetChannel().LocalEndPoint, TransportChannelTypes.TCP)); transaction.KPPUniqueId = ringNode.KPPUniqueId; return(_transactionManager.Add(transaction.Identity, transaction) ? transaction : null); }