nop 中创建任务(Task)
NopCommerce 中Task 原理是服务端开启线程定时跑。
1.在数据表ScheduleTask中添加一条数据,

2.自定义类,继承ITask 即可
using Data.Log4Net;
using Data.Services.Tasks;
using System;
using System.Net;
using System.Security.Policy;
using System.Web; namespace Data.Services.Common
{
/// <summary>
/// Represents a task for keeping the site alive
/// </summary>
public partial class KeepAliveTask : ITask
{
//private readonly IStoreContext _storeContext; //public KeepAliveTask(IStoreContext storeContext)
//{
// this._storeContext = storeContext;
//} /// <summary>
/// Executes a task
/// </summary>
public void Execute()
{
//WriteLog.Info("KeepAliveTask,Execute");
string domainUrl = System.Configuration.ConfigurationManager.AppSettings["domainUrl"];
string url = domainUrl + "/keepalive/index";//"http://localhost:8060/keepalive/index";
WriteLog.Info("KeepAliveTask,url=" + url);
using (var wc = new WebClient())
{
var down = wc.DownloadString(url);
WriteLog.Info("KeepAliveTask,down=" + down);
}
}
}
}
OK,服务端会每隔60秒 跑 Execute()方法。
nop 中创建任务(Task)的更多相关文章
- Gradle第二步骤来创建学习Task
请下载本系列中的以下文章Github演示示例代码: git clone https://github.com/davenkin/gradle-learning.git Gradle的Proje ...
- node中创建服务进程
背景 在node工程部署中,常常涉及到三方:本地客户端.跳板机和服务器(集群).在通过git触发gitlab hook脚本后,需要在跳板机中执行相应的ssh命令执行shell文件启动node服务器,这 ...
- .net中ThreadPool与Task的认识总结
线程池和Task是多线程编程中两个经常使用的技术,大家在熟悉不过了.他们有什么关联关系?Task又是怎么工作的呢?估计很多时候会犯糊涂.通过翻阅资料,终于弄明白了,与大家分享一下. 工作线程与I/ ...
- Java中创建线程的三种方式以及区别
在java中如果要创建线程的话,一般有3种方法: 继承Thread类: 实现Runnable接口: 使用Callable和Future创建线程. 1. 继承Thread类 继承Thread类的话,必须 ...
- 如何使用 Packer 在 Azure 中创建 Windows 虚拟机映像
Azure 中的每个虚拟机 (VM) 都是基于定义 Windows 分发和操作系统版本的映像创建的. 映像可以包括预安装的应用程序和配置. Azure 应用商店为最常见的操作系统和应用程序环境提供了许 ...
- 基于.net的分布式系统限流组件 C# DataGridView绑定List对象时,利用BindingList来实现增删查改 .net中ThreadPool与Task的认识总结 C# 排序技术研究与对比 基于.net的通用内存缓存模型组件 Scala学习笔记:重要语法特性
基于.net的分布式系统限流组件 在互联网应用中,流量洪峰是常有的事情.在应对流量洪峰时,通用的处理模式一般有排队.限流,这样可以非常直接有效的保护系统,防止系统被打爆.另外,通过限流技术手段,可 ...
- C#调PowerShell在SCVMM中创建虚拟机时,实时显示创建进度
关于c#调用PowerShell来控制SCVMM,网上有很多例子,也比较简单,但创建虚拟机的过程,是一个很漫长的时间,所以一般来说,创建的时候都希望可以实时的显示当前虚拟机的创建进度.当时这个问题困扰 ...
- 【半译】在ASP.NET Core中创建内部使用作用域服务的Quartz.NET宿主服务
在我的上一篇文章中,我展示了如何使用ASP.NET Core创建Quartz.NET托管服务并使用它来按计划运行后台任务.不幸的是,由于Quartz.NET API的工作方式,在Quartz作业中使用 ...
- for循环中创建线程执行问题
先执行以一个简单的示例: static void Main(string[] args) { List<int> taskConsumes = new List<int>() ...
- In-Memory:在内存中创建临时表和表变量
在Disk-Base数据库中,由于临时表和表变量的数据存储在tempdb中,如果系统频繁地创建和更新临时表和表变量,大量的IO操作集中在tempdb中,tempdb很可能成为系统性能的瓶颈.在SQL ...
随机推荐
- postgreSQL开启数据库guid类型
执行:create extension "uuid-ossp"; 即可使用:SELECT gen_random_uuid();或SELECT uuid_generate_v4()
- 6. Texture
Texture 作用:可以将默认的贴图转换为自己想要的贴图类型. Texture Type: 贴图类型 Default: 默认的 Normal map: 法线贴图 Editor GUI and Leg ...
- 10.MyBatis-Plus的使用
整合MyBatis-Plus 导入依赖 在解决逆向工程生成的代码报错时候已经给bianen-common导入了依赖 导入数据库的驱动 导入驱动和MySql的版本有关,我安装的MySql版本是5.7.3 ...
- 00.IDEA的使用
1.IDEA的必备常用快捷键 复制本行到下一行:ctrl D 删除一行代码:ctrl Y 替换文本:ctrl R 根据光标放的位置提供快速修复选择:Alt + Enter 生成返回值:ctrl alt ...
- 面了几个说自己精通 Vue 的同学,实在一言难尽……
请说一下响应式数据的原理 默认 Vue 在初始化数据时,会给 data 中的属性使用 Object.defineProperty 重新定义所有属性,当页面到对应属性时,会进行依赖收集 (收集当前组件中 ...
- k8s网路策略
Network Policy(网络策略) 默认情况下,k8s集群网络是没有任何限制的,Pod可以和任何其他Pod通信,在某些场景下需要做网络控制,减少网络面的攻击,提高安全性,就会用到网络策略(Net ...
- Matplotlib 绘图线
绘图过程如果我们自定义线的样式,包括线的类型.颜色和大小等. 线的类型 线的类型可以使用 linestyle 参数来定义,简写为 ls. 类型 简写 说明 'solid' (默认) '-' 实线 'd ...
- .NetCore2.0引用DLL报System.InvalidOperationException: Can not find compilation library location for package 'XXX'
.NET CORE 2.0 MVC项目引用类库出现:System.InvalidOperationException: Can not find compilation library locatio ...
- Web Socket 长连接
服务 package com.kinth.basic.timetask.job.donghuan.socket; import java.io.IOException; import java.net ...
- CSS3实现图片滚动
body{ margin: 0; padding: 0px; } #banner{ margin:20px auto; width: 600px; position: relative; overfl ...