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)的更多相关文章

  1. Gradle第二步骤来创建学习Task

    请下载本系列中的以下文章Github演示示例代码: git clone https://github.com/davenkin/gradle-learning.git     Gradle的Proje ...

  2. node中创建服务进程

    背景 在node工程部署中,常常涉及到三方:本地客户端.跳板机和服务器(集群).在通过git触发gitlab hook脚本后,需要在跳板机中执行相应的ssh命令执行shell文件启动node服务器,这 ...

  3. .net中ThreadPool与Task的认识总结

    线程池和Task是多线程编程中两个经常使用的技术,大家在熟悉不过了.他们有什么关联关系?Task又是怎么工作的呢?估计很多时候会犯糊涂.通过翻阅资料,终于弄明白了,与大家分享一下.   工作线程与I/ ...

  4. Java中创建线程的三种方式以及区别

    在java中如果要创建线程的话,一般有3种方法: 继承Thread类: 实现Runnable接口: 使用Callable和Future创建线程. 1. 继承Thread类 继承Thread类的话,必须 ...

  5. 如何使用 Packer 在 Azure 中创建 Windows 虚拟机映像

    Azure 中的每个虚拟机 (VM) 都是基于定义 Windows 分发和操作系统版本的映像创建的. 映像可以包括预安装的应用程序和配置. Azure 应用商店为最常见的操作系统和应用程序环境提供了许 ...

  6. 基于.net的分布式系统限流组件 C# DataGridView绑定List对象时,利用BindingList来实现增删查改 .net中ThreadPool与Task的认识总结 C# 排序技术研究与对比 基于.net的通用内存缓存模型组件 Scala学习笔记:重要语法特性

    基于.net的分布式系统限流组件   在互联网应用中,流量洪峰是常有的事情.在应对流量洪峰时,通用的处理模式一般有排队.限流,这样可以非常直接有效的保护系统,防止系统被打爆.另外,通过限流技术手段,可 ...

  7. C#调PowerShell在SCVMM中创建虚拟机时,实时显示创建进度

    关于c#调用PowerShell来控制SCVMM,网上有很多例子,也比较简单,但创建虚拟机的过程,是一个很漫长的时间,所以一般来说,创建的时候都希望可以实时的显示当前虚拟机的创建进度.当时这个问题困扰 ...

  8. 【半译】在ASP.NET Core中创建内部使用作用域服务的Quartz.NET宿主服务

    在我的上一篇文章中,我展示了如何使用ASP.NET Core创建Quartz.NET托管服务并使用它来按计划运行后台任务.不幸的是,由于Quartz.NET API的工作方式,在Quartz作业中使用 ...

  9. for循环中创建线程执行问题

    先执行以一个简单的示例: static void Main(string[] args) { List<int> taskConsumes = new List<int>() ...

  10. In-Memory:在内存中创建临时表和表变量

    在Disk-Base数据库中,由于临时表和表变量的数据存储在tempdb中,如果系统频繁地创建和更新临时表和表变量,大量的IO操作集中在tempdb中,tempdb很可能成为系统性能的瓶颈.在SQL ...

随机推荐

  1. Vue2安装less版本过高问题,需要降级

    安装指定less版本解决: -D: 本地安装 -g: 全局安装 npm install less@3.9.0 less-loader@5.0.0 -D

  2. VUE环境运行搭建

    第一步:下载安装node.js 1.下载node.js,vue的运行是要依赖于node的npm的管理工具来实现,所以第一步我们需要安装 Node.js,访问官网 https://nodejs.org/ ...

  3. STM32定时器TIM_OC1PreloadConfig、TIM_ARRPreloadConfig函数详解

    -------------------------------------------版权声明:本文为CSDN博主「qlexcel」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处 ...

  4. node、mongodb、服务器相关

    1.CentOs搭建NodeJs服务器-Mongodb安装 2.如何将 node+mongodb 项目部署在服务器上 3.如何通过cmd开一个本地服务器 4.如何部署一个本地的web项目到服务器-搭建 ...

  5. DotNetCore2.1使用GitLab通过阿里云自动构建镜像上传阿里云仓库在Docker运行

    操作步骤: 1.安装GitLab并添加项目(此处省略安装过程) 2.获取GitLab的Access Tokens 3.创建空的DotNetCore2.1 Api项目 4.项目添加Docker支持,文件 ...

  6. 使用shell判断文件夹中是否包含文件

    #!/bin/bash directory="/path/to/directory" if [ $(ls -A $directory) ]; then echo "有文件 ...

  7. System.IO.FileNotFoundException: Could not load file or assembly 'System.IO.Compression.FileSystem系统找不到指定的文件

    错误:System.IO.FileNotFoundException: Could not load file or assembly 'System.IO.Compression.FileSyste ...

  8. WDA学习(29):WDA & HTML

    1.22 HTML Container 本实例测试HTML在WDA中结合使用. 創建WDA Component: Z_TEST_WDA99 UI Element VIEW:MAIN 創建UI Elem ...

  9. 宝塔Linux定时shell

    定时清除缓存文件 rm -rfv /www/wwwroot/www.xxx.com/runtime 定时解压,常用于定时恢复站点 解压到当前 cd /www/wwwroot/www.xxx.com t ...

  10. 安全测试-WEB安全渗透测试基础知识(二)

    1.2. 计算机网络 1.2.1. 计算机通信网的组成 计算机网络由通信子网和资源子网组成. 其中通信子网负责数据的无差错和有序传递,其处理功能包括差错控制.流量控制.路由选择.网络互连等. 其中资源 ...