返回首页

您好所有,
& #160; 我有一些问题,试图从内部类Quartz.NET调用功能。我一些使用Google和(apoligies坏术语),它看起来像你通常附加基地(主窗口)的内部类。不幸的是,当我做到这一点,石英停止工作。

这个问题吗?
我怎么没有打破以下(IMyJob)的接口调用在一个内部类的基类的功能吗?

"守则"

internal class SendAlarmCommand : MainWindow, IMyJob

{

    public void Execute(JobExecutionContext context)

    {

        Console.WriteLine("In MyJob class : " + context.JobDetail.Name);

        Console.WriteLine(string.Format("Running Alarm Job - {0}", System.DateTime.Now.ToString("r")));

 

        JobDataMap dataMap = context.JobDetail.JobDataMap;

 

        Console.WriteLine("Client ID - " + dataMap.GetString("ClientID"));

        Console.WriteLine("Clock ID - " + dataMap.GetString("ClockID"));

        Console.WriteLine("Command - " + dataMap.GetString("Command"));

 

        string command = (dataMap.GetString("Command"));

        Send(command); //Function in Main Window

    }

}

 

internal interface IMyJob : IJob

{

}


遗憾的资料很少,我希望这是不够的。我仍然很新,这样的事情。

预先感谢您,您的帮助
亚历克斯

回答

评论会员:游客 时间:2012/02/07
你的接口没有成员,所以其执行不能可能"破"由于实现此接口。在更一般的情况下,它也不会是一个问题:任何类的任何方法可以调用任何类的任何方法(静态方法),或一个类的实例(实例方法)没有接口的实现有关的任何关注。你可能面临的唯一问题是成员与接口成员冲突的声明,但解决这个问题,使用显式接口成员实现,见imgsrc=如果你面临的一些问题("停止工作"),原因是在别处。你没有提供足够的信息,才能看到它mdash;的SA
lxmyers
评论会员:游客 时间:2012/02/07
你好SA, 感谢你的答复,但我有一个小麻烦的理解...我有一个通过代码看看,我似乎无法找到任何会导致冲突和运行程序是没有问题的。唯一的问题是,当我添加石英不会触发工作的基类({C})下面是所有的代码,我想获得工作...如果你可以看一看,那将不胜感激。再次谢谢您的帮助,亚历克斯。codeprespanclass="code-keyword"using/spanSystem;spanclass="code-keyword"using/spanSystem.Collections.Generic;spanclass="code-keyword"using/spanSystem.Linq;spanclass="code-keyword"using/spanSystem.Text;spanclass="code-keyword"using/spanSystem.Windows;spanclass="code-keyword"using/spanSystem.Windows.Controls;spanclass="code-keyword"using/spanSystem.Windows.Data;spanclass="code-keyword"using/spanSystem.Windows.Documents;spanclass="code-keyword"using/spanSystem.Windows.Input;spanclass="code-keyword"using/spanSystem.Windows.Media;spanclass="code-keyword"using/spanSystem.Windows.Media.Imaging;spanclass="code-keyword"using/spanSystem.Windows.Navigation;spanclass="code-keyword"using/spanSystem.Windows.Shapes;spanclass="code-keyword"using/spanCommon.Logging;spanclass="code-keyword"using/spanQuartz;spanclass="code-keyword"using/spanQuartz.Impl;spanclass="code-keyword"using/spanSystem.Threading;spanclass="code-keyword"using/spanSystem.Net;spanclass="code-keyword"using/spanSystem.ComponentModel;spanclass="code-keyword"using/spanScheduler.SVC;spanclass="code-keyword"using/spanSystem.Configuration;spanclass="code-keyword"using/spanSystem.Windows.Threading;spanclass="code-keyword"using/spanSystem.ServiceModel; spanclass="code-keyword"namespace/spanScheduler{spanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"InteractionlogicforMainWindow.xaml/spanspanclass="code-SummaryComment"////spanspanclass="code-comment"spanclass="code-SummaryComment"</spanspanclass="code-SummaryComment"//spanspanclass="code-SummaryComment"summary/spanspanclass="code-SummaryComment">/span/spanspanclass="code-keyword"public/spanspanclass="code-keyword"partial/spanspanclass="code-keyword"class/spanMainWindow:Window,SVC.ICommsCallback{spanclass="code-keyword"static/spanIScheduler_scheduler; spanclass="code-keyword"static/spanspanclass="code-keyword"string/spanServerIPAddress;spanclass="code-keyword"static/spanspanclass="code-keyword"string/spanUnitName; spanclass="code-keyword"static/spanScheduleDataContextScheduleDC=spanclass="code-keyword"new/spanScheduleDataContext();spanclass="code-keyword"static/spanClientDataContextClientDC=spanclass="code-keyword"new/spanClientDataContext(); SVC.CommsClientproxy=spanclass="code-keyword"null/span;SVC.Clientreceiver=spanclass="code-keyword"null/span;SVC.ClientlocalClient=spanclass="code-keyword"null/span; spanclass="code-keyword"private/spanspanclass="code-keyword"delegate/spanspanclass="code-keyword"void/spanFaultedInvoker(); Dictionary<spanclass="code-keyword"string/span,SVC.Client>OnlineClients=spanclass="code-keyword"new/spanDictionary<spanclass="code-keyword"string/span,Client>(); spanclass="code-keyword"public/spanMainWindow(){InitializeComponent(); spanclass="code-comment"///spanspanclass="code-comment"Getconfigurationinformationfromapp.config/spanServerIPAddress=ConfigurationManager.AppSettings[spanclass="code-string""/spanspanclass="code-string"ServerAddress"/span];UnitName=ConfigurationManager.AppSettings[spanclass="code-string""/spanspanclass="code-string"DeviceName"/span]; spanclass="code-comment"///spanspanclass="code-comment"StartQuartz/spanISchedulerFactoryschedulerFactory=spanclass="code-keyword"new/spanStdSchedulerFactory();_scheduler=schedulerFactory.GetScheduler();_scheduler.Start();Console.WriteLine(spanclass="code-string""/spanspanclass="code-string"SchedulerStarted"/span);} spanclass="code-keyword"protected/spanspanclass="code-keyword"override/spanspanclass="code-keyword"void/spanOnInitialized(EventArgse){spanclass="code-keyword"this/span.Loaded+=spanclass="code-keyword"new/spanRoutedEventHandler(Scheduler_Loaded);spanclass="code-keyword"this/span.Closed+=spanclass="code-keyword"new/spanEventHandler(Scheduler_Closed);spanclass="code-keyword"base/span.OnInitialized(e);} spanclass="code-keyword"private/spanspanclass="code-keyword"void/spanScheduler_Loaded(spanclass="code-keyword"object/spansender,RoutedEventArgse){spanclass="code-comment"///spanspanclass="code-comment"AddactiveAlarmjobsto_scheduler/spanspanclass="code-keyword"var/spanAlarmsQuery=fromaqspanclass="code-keyword"in/spanScheduleDC.schedule_ALARMswhereaq.alarm_STATE==spanclass="code-digit"1/spanselectaq; spanclass="code-keyword"foreach/span(spanclass="code-keyword"var/spanaqspanclass="code-keyword"in/spanAlarmsQuery){AddAlarmJob(aq.alarm_ID,Convert.ToInt16(aq.client_ID),Convert.ToInt16(aq.clock_ID),aq.time_CRON,aq.command);} spanclass="code-comment"///spanspanclass="code-comment"ConnecttoServiceHost/spanproxy=spanclass="code-keyword"null/span;Connect();} spanclass="code-keyword"private/spanspanclass="code-keyword"void/spanScheduler_Closed(spanclass="code-keyword"object/spansender,EventArgse){spanclass="code-comment"///spanspanclass="code-comment"DisconnectfromServiceHost/spanspanclass="code-keyword"if/span(proxy!=spanclass="code-keyword"null/span){spanclass="code-keyword"if/span(proxy.State==CommunicationState.Opened){proxy.Disconnect(spanclass="code-keyword"this/span.localClient);Console.WriteLine(spanclass="code-string""/spanspanclass="code-string"Disconnectedfromserver"/span);}spanclass="code-keyword"else/span{HandleProxy();}} spanclass="code-comment"///spanspanclass="code-comment"ShutdownQuartz/span_scheduler.Shutdown();} spanclass="code-keyword"public/spanspanclass="code-keyword"void/spanAddAlarmJob(spanclass="code-keyword"int/spanAlarmID,spanclass="code-keyword"int/spanClientID,spanclass="code-keyword"int/spanClockID,spanclass="code-keyword"string/spanTimeCRON,spanclass="code-keyword"string/spanCommand){spanclass="code-keyword"string/spanJobName=(spanclass="code-string""/spanspanclass="code-string"AlarmJob"/span+AlarmID);spanclass="code-keyword"string/spanTriggerName=(spanclass="code-string""/spanspanclass="code-string"AlarmTrigger"/span+AlarmID); JobDetailjobDetail=spanclass="code-keyword"new/spanJobDetail(JobName,spanclass="code-keyword"null/span,spanclass="code-keyword"typeof/span(SendAlarmCommand)); jobDetail.JobDataMap[spanclass="code-string""/spanspanclass="code-string"ClientID"/span]=Convert.ToString(ClientID);jobDetail.JobDataMap[spanclass="code-string""/spanspanclass="code-string"ClockID"/span]=Convert.ToString(ClockID);jobDetail.JobDataMap[spanclass="code-string""/spanspanclass="code-string"Command"/span]=Command; CronTriggertrigger=spanclass="code-keyword"new/spanCronTrigger(TriggerName,spanclass="code-keyword"null/span,TimeCRON);spanclass="code-comment"///spanspanclass="code-comment"runat2ameveryday-useCronMaker/span_scheduler.ScheduleJob(jobDetail,trigger); DateTimeJobTimeUTC=Convert.ToDateTime(trigger.GetNextFireTimeUtc());DateTimeJobTimeLocal=JobTimeUTC.ToLocalTime();Console.WriteLine(spanclass="code-string""/spanspanclass="code-string"JobAdded-"/span+JobName);Console.WriteLine(spanclass="code-string""/spanspanclass="code-string"NextFireTime:"/span+JobTimeLocal);} spanclass="code-keyword"public/spanspanclass="code-keyword"static/spanspanclass="code-keyword"void/spanUpdateTVGuide(spanclass="code-keyword"string/spanGuideID,spanclass="code-keyword"string/spanGuideURL){spanclass="code-keyword"string/spanJobName=(spanclass="code-string""/spanspanclass="code-string"TVGuideUpdateJob"/span+GuideID);spanclass="code-keyword"string/spanTriggerName=(spanclass="code-string""/spanspanclass="code-string"TVGuideUpdateTrigger"/span+GuideID); spanclass="code-comment"///spanspanclass="code-comment"IMyJobmyJob=newTVGuideUpdate();//ThisConstructorneedstobeparameterless/spanJobDetailjobDetail=spanclass="code-keyword"new/spanJobDetail(JobName,spanclass="code-keyword"null/span,spanclass="code-keyword"typeof/span(TVGuideUpdate)); jobDetail.JobDataMap[spanclass="code-string""/spanspanclass="code-string"GuideURL"/span]=GuideURL; CronTriggertrigger=spanclass="code-keyword"new/spanCronTrigger(TriggerName,spanclass="code-keyword"null/span,spanclass="code-string""/spanspanclass="code-string"01518**?*"/span);spanclass="code-comment"///spanspanclass="code-comment"runat2ameveryday-useCronMaker/span_scheduler.ScheduleJob(jobDetail,trigger); DateTimeJobTimeUTC=Convert.ToDateTime(trigger.GetNextFireTimeUtc());DateTimeJobTimeLocal=JobTimeUTC.ToLocalTime();Console.WriteLine(spanclass="code-string""/spanspanclass="code-string"JobAdded-"/span+JobName);Console.WriteLine(spanclass="code-string""/spanspanclass="code-string"NextFireTime:"/span+JobTimeLocal);} #regionCOMMS-PrivateMethods spanclass="code-keyword"private/spanspanclass="code-keyword"void/spanHandleProxy(){spanclass="code-keyword"if/span(proxy!=spanclass="code-keyword"null/span){spanclass="code-keyword"switch/span(spanclass="code-keyword"this/span.proxy.State){spanclass="code-keyword"case/spanCommunicationState.Closed:proxy=spanclass="code-keyword"null/span;spanclass="code-keyword"break/span;spanclass="code-keyword"case/spanCommunicationState.Closing:spanclass="code-keyword"break/span;spanclass="code-keyword"case/spanCommunicationState.Created:spanclass="code-keyword"break/span;spanclass="code-keyword"case/spanCommunicationState.Faulted:proxy.Abort();proxy=spanclass="code-keyword"null/span;spanclass="code-keyword"break/span;spanclass="code-keyword"case/spanCommunicationState.Opened: Console.WriteLine(spanclass="code-string""/spanspanclass="code-string"ConnectionSuccessful"/span); spanclass="code-keyword"break/span;spanclass="code-keyword"case/spanCommunicationState.Opening:spanclass="code-keyword"break/span;spanclass="code-keyword"default/span:spanclass="code-keyword"break/span;}} } spanclass="code-keyword"private/spanspanclass="code-keyword"void/spanConnect(){Console.WriteLine(spanclass="code-string""/spanspanclass="code-string"Connectingtoserver,pleasewaitamoment..."/span); spanclass="code-keyword"if/span(proxy==spanclass="code-keyword"null/span){spanclass="code-keyword"try/span{spanclass="code-keyword"this/span.localClient=spanclass="code-keyword"new/spanSVC.Client();spanclass="code-keyword"this/span.localClient.Name=UnitName;spanclass="code-keyword"this/span.localClient.UnitType=spanclass="code-digit"1/span;InstanceContextcontext=spanclass="code-keyword"new/spanInstanceContext(spanclass="code-keyword"this/span);proxy=spanclass="code-keyword"new/spanSVC.CommsClient(context); proxy.Endpoint.Address=spanclass="code-keyword"new/spanEndpointAddress(spanclass="code-string""/spanspanclass="code-string"net.tcp://"/span+ServerIPAddress+spanclass="code-string""/spanspanclass="code-string":6555/ServiceHost/tcp"/span); proxy.Open(); proxy.InnerDuplexChannel.Faulted+=spanclass="code-keyword"new/spanEventHandler(InnerDuplexChannel_Faulted);proxy.InnerDuplexChannel.Opened+=spanclass="code-keyword"new/spanEventHandler(InnerDuplexChannel_Opened);proxy.InnerDuplexChannel.Closed+=spanclass="code-keyword"new/spanEventHandler(InnerDuplexChannel_Closed);proxy.ConnectAsync(spanclass="code-keyword"this/span.localClient);proxy.ConnectCompleted+=spanclass="code-keyword"new/spanEventHandler<ConnectCompletedEventArgs>(proxy_ConnectCompleted);}spanclass="code-keyword"catch/span(Exceptionex){Console.WriteLine(spanclass="code-string""/spanspanclass="code-string"EpicFail"/span+ex);}}spanclass="code-keyword"else/span{HandleProxy();}} spanclass="code-keyword"void/spanproxy_ConnectCompleted(spanclass="code-keyword"object/spansender,ConnectCompletedEventArgse){spanclass="code-keyword"if/span(e.Error!=spanclass="code-keyword"null/span){Console.WriteLine(e.Error.Message.ToString());}spanclass="code-keyword"else/spanspanclass="code-keyword"if/span(e.Result){HandleProxy();}spanclass="code-keyword"else/spanspanclass="code-keyword"if/span(!e.Result){Console.WriteLine(spanclass="code-string""/spanspanclass="code-string"Namefound"/span);} } spanclass="code-keyword"private/spanspanclass="code-keyword"void/spanSend(spanclass="code-keyword"string/spanCommand){spanclass="code-keyword"if/span(proxy!=spanclass="code-keyword"null/span){spanclass="code-keyword"if/span(proxy.State==CommunicationState.Faulted){HandleProxy();Console.WriteLine(spanclass="code-string""/spanspanclass="code-string"Failed"/span);}spanclass="code-keyword"else/span{SVC.Messagemsg=spanclass="code-keyword"new/spanSVC.Message();msg.Sender=spanclass="code-keyword"this/span.localClient.Name;msg.Content=Command; proxy.SendAsync(msg); proxy.IsWritingAsync(spanclass="code-keyword"null/span);}}} spanclass="code-keyword"private/spanspanclass="code-keyword"void/spanSendPrivate(spanclass="code-keyword"string/spancommand){spanclass="code-keyword"if/span(proxy!=spanclass="code-keyword"null/span){spanclass="code-keyword"if/span(proxy.State==CommunicationState.Faulted){HandleProxy();}spanclass="code-keyword"else/span{SVC.Messagemsg=spanclass="code-keyword"new/spanSVC.Message();msg.Sender=spanclass="code-keyword"this/span.localClient.Name;msg.Content=(command); proxy.SendPrivateAsync(msg,spanclass="code-keyword"this/span.receiver); proxy.IsWritingAsync(spanclass="code-keyword"null/span);}}} spanclass="code-keyword"public/spanspanclass="code-keyword"void/spanProccessMessage(spanclass="code-keyword"string/spancommand){ } spanclass="code-keyword"public/spanspanclass="code-keyword"void/spanProccessPrivateMessage(spanclass="code-keyword"string/spancommand){ } spanclass="code-preprocessor"#endregion/span spanclass="code-preprocessor"#region/spanCOMMS-IChatCallbackMembers spanclass="code-keyword"public/spanspanclass="code-keyword"void/spanRefreshClients(List<Scheduler.SVC.Client>clients){OnlineClients.Clear();spanclass="code-keyword"foreach/span(SVC.Clientcspanclass="code-keyword"in/spanclients){OnlineClients.Add(c.Name,c);}} spanclass="code-keyword"public/spanspanclass="code-keyword"void/spanReceive(Scheduler.SVC.Messagemsg){ } spanclass="code-keyword"public/spanspanclass="code-keyword"void/spanReceivePrivate(Scheduler.SVC.Messagemsg,Scheduler.SVC.Clientreceiver){Console.WriteLine(msg.Sender+spanclass="code-string""/spanspanclass="code-string"whispers"/span+receiver.Name+spanclass="code-string""/spanspanclass="code-string":"/span+msg.Content);} spanclass="code-keyword"public/spanspanclass="code-keyword"void/spanIsWritingCallback(Scheduler.SVC.Clientclient){spanclass="code-keyword"if/span(client==spanclass="code-keyword"null/span){spanclass="code-comment"///spanspanclass="code-comment"chatLabelWritingMsg.Content="";/span}spanclass="code-keyword"else/span{spanclass="code-comment"///spanspanclass="code-comment"chatLabelWritingMsg.Content+=client.Name+/spanspanclass="code-comment"///spanspanclass="code-comment""iswritingamessage..,";/span}} spanclass="code-keyword"public/spanspanclass="code-keyword"void/spanClientConnect(Scheduler.SVC.Clientclient){spanclass="code-comment"///spanspanclass="code-comment"MessagesListBox.Items.Add(client.UnitType+"------------"+client.Name+"joinedchat------------");/span} spanclass="code-keyword"public/spanspanclass="code-keyword"void/spanClientDisconnect(Scheduler.SVC.Clientclient){spanclass="code-comment"///spanspanclass="code-comment"MessagesListBox.Items.Add(client.UnitType+"------------"+client.Name+"leftchat------------");/span} spanclass="code-preprocessor"#endregion/span #regionCOMMS-InnerDuplexChannel spanclass="code-keyword"void/spanInnerDuplexChannel_Closed(spanclass="code-keyword"object/spansender,EventArgse){spanclass="code-keyword"if/span(!this.Dispatcher.CheckAccess()){spanclass="code-keyword"this/span.Dispatcher.BeginInvoke(DispatcherPriority.Normal,spanclass="code-keyword"new/spanFaultedInvoker(HandleProxy));spanclass="code-keyword"return/span;}HandleProxy();} spanclass="code-keyword"void/spanInnerDuplexChannel_Opened(spanclass="code-keyword"object/spansender,EventArgse){spanclass="code-keyword"if/span(!this.Dispatcher.CheckAccess()){spanclass="code-keyword"this/span.Dispatcher.BeginInvoke(DispatcherPriority.Normal,spanclass="code-keyword"new/spanFaultedInvoker(HandleProxy));spanclass="code-keyword"return/span;}HandleProxy();} spanclass="code-keyword"void/spanInnerDuplexChannel_Faulted(spanclass="code-keyword"object/spansender,EventArgse){spanclass="code-keyword"if/span(!this.Dispatcher.CheckAccess()){spanclass="code-keyword"this/span.Dispatcher.BeginInvoke(DispatcherPriority.Normal,spanclass="code-keyword"new/spanFaultedInvoker(HandleProxy));spanclass="code-keyword"return/span;}HandleProxy();} spanclass="code-preprocessor"#endregion/span spanclass="code-preprocessor"#region/spanCOMMS-Async spanclass="code-keyword"public/spanIAsyncResultBeginClientDisconnect(Scheduler.SVC.Clientclient,AsyncCallbackcallback,spanclass="code-keyword"object/spanasyncState){spanclass="code-keyword"throw/spanspanclass="code-keyword"new/spanNotImplementedException();} spanclass="code-keyword"public/spanspanclass="code-keyword"void/spanEndClientDisconnect(IAsyncResultresult){spanclass="code-keyword"throw/spanspanclass="code-keyword"new/spanNotImplementedException();} spanclass="code-keyword"public/spanIAsyncResultBeginClientConnect(Scheduler.SVC.Clientclient,AsyncCallbackcallback,spanclass="code-keyword"object/spanasyncState){spanclass="code-keyword"throw/spanspanclass="code-keyword"new/spanNotImplementedException();} spanclass="code-keyword"public/spanspanclass="code-keyword"void/spanEndClientConnect(IAsyncResultresult){spanclass="code-keyword"throw/spanspanclass="code-keyword"new/spanNotImplementedException();} spanclass="code-keyword"public/spanIAsyncResultBeginIsWritingCallback(Scheduler.SVC.Clientclient,AsyncCallbackcallback,spanclass="code-keyword"object/spanasyncState){spanclass="code-keyword"throw/spanspanclass="code-keyword"new/spanNotImplementedException();} spanclass="code-keyword"public/spanspanclass="code-keyword"void/spanEndIsWritingCallback(IAsyncResultresult){spanclass="code-keyword"throw/spanspanclass="code-keyword"new/spanNotImplementedException();} spanclass="code-keyword"public/spanIAsyncResultBeginReceivePrivate(Scheduler.SVC.Messagemsg,Scheduler.SVC.Clientreceiver,AsyncCallbackcallback,spanclass="code-keyword"object/spanasyncState){spanclass="code-keyword"throw/spanspanclass="code-keyword"new/spanNotImplementedException();} spanclass="code-keyword"public/spanspanclass="code-keyword"void/spanEndReceivePrivate(IAsyncResultresult){spanclass="code-keyword"throw/spanspanclass="code-keyword"new/spanNotImplementedException();} spanclass="code-keyword"public/spanIAsyncResultBeginReceive(Scheduler.SVC.Messagemsg,AsyncCallbackcallback,spanclass="code-keyword"object/spanasyncState){spanclass="code-keyword"throw/spanspanclass="code-keyword"new/spanNotImplementedException();} spanclass="code-keyword"public/spanspanclass="code-keyword"void/spanEndReceive(IAsyncResultresult){spanclass="code-keyword"throw/spanspanclass="code-keyword"new/spanNotImplementedException();} spanclass="code-keyword"public/spanIAsyncResultBeginRefreshClients(List<Scheduler.SVC.Client>clients,AsyncCallbackcallback,spanclass="code-keyword"object/spanasyncState){spanclass="code-keyword"throw/spanspanclass="code-keyword"new/spanNotImplementedException();} spanclass="code-keyword"public/spanspanclass="code-keyword"void/spanEndRefreshClients(IAsyncResultresult){spanclass="code-keyword"throw/spanspanclass="code-keyword"new/spanNotImplementedException();} spanclass="code-preprocessor"#endregion/span spanclass="code-preprocessor"#region/spanQuartzJobs spanclass="code-keyword"internal/spanspanclass="code-keyword"class/spanSendAlarmCommand:MainWindow,IMyJob{spanclass="code-keyword"public/spanspanclass="code-keyword"void/spanExecute(JobExecutionContextcontext){Console.WriteLine(spanclass="code-string""/spanspanclass="code-string"InMyJobclass:"/span+context.JobDetail.Name);Console.WriteLine(spanclass="code-keyword"string/span.Format(spanclass="code-string""/spanspanclass="code-string"RunningAlarmJob-{0}"/span,System.DateTime.Now.ToString(spanclass="code-string""/spanspanclass="code-string"r"/span))); JobDataMapdataMap=context.JobDetail.JobDataMap; Console.WriteLine(spanclass="code-string""/spanspanclass="code-string"ClientID-"/span+dataMap.GetString(spanclass="code-string""/spanspanclass="code-string"ClientID"/span));Console.WriteLine(spanclass="code-string""/spanspanclass="code-string"ClockID-"/span+dataMap.GetString(spanclass="code-string""/spanspanclass="code-string"ClockID"/span));Console.WriteLine(spanclass="code-string""/spanspanclass="code-string"Command-"/span+dataMap.GetString(spanclass="code-string""/spanspanclass="code-string"Command"/span)); spanclass="code-keyword"string/spancommand=(dataMap.GetString(spanclass="code-string""/spanspanclass="code-string"Command"/span));Send(command);spanclass="code-comment"///spanspanclass="code-comment"FunctioninMainWindow/span}} spanclass="code-keyword"internal/spanspanclass="code-keyword"class/spanTVGuideUpdate:IMyJob{spanclass="code-keyword"string/spanGuideDirectory=ConfigurationManager.AppSettings[spanclass="code-string""/spanspanclass="code-string"GuideDirectory"/span]; spanclass="code-keyword"public/spanspanclass="code-keyword"void/spanExecute(JobExecutionContextcontext){JobDataMapdataMap=context.JobDetail.JobDataMap; spanclass="code-keyword"string/spanguideURL=dataMap.GetString(spanclass="code-string""/spanspanclass="code-string"GuideURL"/span);spanclass="code-keyword"string/spanfileName=spanclass="code-string""/spanspanclass="code-string"iceguide.xml"/span;spanclass="code-keyword"string/spandestFile=System.IO.Path.Combine(GuideDirectory,fileName); Console.WriteLine(spanclass="code-keyword"string/span.Format(spanclass="code-string""/spanspanclass="code-string"RunningTVGuideUpdateJob-{0}"/span,System.DateTime.Now.ToString(spanclass="code-string""/spanspanclass="code-string"r"/span)));Console.WriteLine(spanclass="code-string""/spanspanclass="code-string"DownloadingTVGuide..."/span); spanclass="code-keyword"if/span(!System.IO.Directory.Exists(GuideDirectory)){System.IO.Directory.CreateDirectory(GuideDirectory);} WebClientwebClient=spanclass="code-keyword"new/spanWebClient();webClient.DownloadFileCompleted+=spanclass="code-keyword"new/spanAsyncCompletedEventHandler(DownloadCompleted);webClient.DownloadFileAsync(spanclass="code-keyword"new/spanUri(guideURL),destFile);} spanclass="code-keyword"public/spanspanclass="code-keyword"void/spanDownloadCompleted(spanclass="code-keyword"object/spansender,AsyncCompletedEventArgse){Console.WriteLine(spanclass="code-string""/spanspanclass="code-string"TVGuidedownloadcompleted."/span);}} spanclass="code-keyword"internal/spanspanclass="code-keyword"interface/spanIMyJob:IJob{} spanclass="code-preprocessor"#endregion/spanQuartzJobs } }/pre/code的
lxmyers
评论会员:游客 时间:2012/02/07
嗨,大家好, 延迟很抱歉,我已经设法找到一个simplet解决方案。只是柜面的人有类似的问题,我发现一个非常类似的职位...{A}亲切的问候,亚历克斯