不知道调了什么idea插件仓库,结果仓库底下看不到...

自由、创新、研究、探索
Linux/Windows Mono/DotNet [ Open Source .NET Development/ 使用开源工具进行DotNet软件开发]锐意进取,志存高远.成就梦想,只争朝夕.从你开始,创新世界.【That I exist is a perpetual supprise which is life. Focus on eCommerce】
目前iOpenWorks平台已经集成了一个定时调度器插件,它基于流畅接口编程快速实现各种定时任务的实现,比系统自动的Timer类功能强大且好用。下面我们来看看这个示例如何使用这个插件。
1 准备工作
1.1 ***iOpenWorks插件开发平台
首先***iOpenWorks插件开发框架,你可以从&下载插件框架,这个插件框架是免费的,适合于.NET平台下ASP.NET、MVC、WinForm、WPF等任意应用,支持.NET Frameworks 2.0+。
1.2 创建插件主程序,并下载界面插件和定时调度插件
***插件框架后,启动Visual Studio,创建一个插件主程序。如下所示。
接着运行F5,运行新建的项目,在这里选择下载两个插件,如下所示。
现在我们已经下载了一个界面插件(一个Outlook风格的主界面插件)和定时调度插件了,接着我们需要停止运行项目,并新建一个插件项目,来看看如何使用。
2 使用定时调度插件
2.1 新建一个测试插件
下面我们要在创建的TestPlugin插件项目中使用定时调度插件。下图是创建的项目。
接着双击Manifest.xml,然后选择&运行时&选型卡,在这里添加对定时调度插件的依赖。
然后再TestPlugin项目中,添加对FluentScheduler.dll的引用,接着编辑Form1。
2.2 定时调度任务编程
在该窗体的Load事件中使用调度器来定时更新Label。
using System.Collections.G
using ponentM
using System.D
using System.D
using System.T
using System.Windows.F
using System.X
using FluentS
namespace TestPlugin
public partial class Form1 : Form
public Form1()
InitializeComponent();
private void Form1_Load(object sender, EventArgs e)
TaskManager.Initialize(new TaskRegistry(this));
class TaskRegistry : Registry
private Form1 _
private MyTask _myT
public TaskRegistry(Form1 form)
_myTask = new MyTask(_form);
Action updatePerSecondAction = () =& _form.PerSecondUpdateLabel.Text = DateTime.Now.Second.ToString();
Action updatePerMinuteAction = () =& _form.PerMinuteUpdateLabel.Text = DateTime.Now.Minute.ToString();
Schedule(() =& { _form.Invoke(updatePerSecondAction); }).ToRunNow().AndEvery(1).Seconds();
Schedule(() =& { _form.Invoke(updatePerMinuteAction); }).ToRunNow().AndEvery(1).Minutes();
// 更多简单定时支持如下。
// Schedule(() =& { }).ToRunNow().AndEvery(1).Hours().At(3); 每小时第3分钟
// Schedule(() =& { }).ToRunNow().AndEvery(1).Days().At(3, 0); 每天第3点0分
// 每周一或二的3点0分
// Schedule(() =& { }).ToRunNow().AndEvery(1).Weeks().On(DayOfWeek.Monday | DayOfWeek.Tuesday).At(3, 0);
// 每个月第一个周一的3点0分
// Schedule(() =& { }).ToRunNow().AndEvery(1).Months().OnTheFirst(DayOfWeek.Monday).At(3, 0);
Schedule&MyTask&().ToRunNow().AndEvery(1).Seconds();
public override ITask GetTaskInstance&T&()
if (typeof(T).Name.Equals("MyTask"))
return _myT
return base.GetTaskInstance&T&();
public class MyTask : ITask
private Form1 _
private int _count = 0;
private Action&string& _invokeA
public MyTask(Form1 form)
_invokeAction = text =& _form.CustomUpdateLabel.Text =
public void Execute()
if (DateTime.Now.Second % 3 == 0)
_form.Invoke(_invokeAction, "每3秒钟执行,当前执行次数为:" + _count);
好了,我们已经学会如何使用这个简单的定时调度插件了,下图是项目运行结果。
阅读(...) 评论()
随笔 - 15904
评论 - 1303插件的锅…是不是有人不知道仓库的第二页还有材料仓库?
背包整合很容易看不到 材料仓库的存在,或者误以为材料仓库会占用原有的仓库空间,我在公会发现两个人不知道材料仓库的存在了,而且是通过他们的截图,材料仓库可是背包界的革命…
楼主你说的是真萌新 因为要钱才能开启
我现在都禁了背包插件。因为现在魔兽背包功能完善了。每个包放什么很好找。插件那种全堆起来的反倒常常找不到东西
[b]Reply to [pid=15380,1]Reply[/pid] Post by [uid=383643[/uid] ( 09:28)[/b]+1
用eui的貌似 没有问题。。
看到你的帖子我以为说的是有两个材料仓库…

参考资料

 

随机推荐