创建web api项目进行接口测试
创建WebAPI项目,方便测试
修改【App_Start/WebApiConfig.cs】配置文件
添加取消XML返回配置
//取消XML返回
GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
添加{action}访问路径设置
routeTemplate: "api/{controller}/{action}/{id}",
添加【API】接口:
依次选择【Web API】->【Web API 2 控制器 - 空】->【添加】:
输入文件名【Test】,点击【添加】
【TestController.cs】编码:
using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Threading; using System.Web.Http; namespace webApi.Controllers { public class TestController : ApiController { /// <summary> /// 计时器 /// </summary> public static int times = 0; /// <summary> /// 计时器开关 /// </summary> public static bool ctrl = false; /// <summary> /// 开启计时器线程 /// </summary> /// <param name="type">0、关闭<br/>1、开启</param> /// <returns></returns> [HttpGet] public object StartTime(string type) { ctrl = type.Equals("0") ? false : Times(); return ctrl ? "启动成功" : "关闭成功"; } /// <summary> /// 获取计时的时间 /// </summary> /// <returns></returns> [HttpGet] public object GetTime() { return times; } /// <summary> /// 开启计时 /// </summary> /// <returns></returns> private bool Times() { Thread t = new Thread(()=>{ while (ctrl) { Thread.Sleep(1000);//休息1秒 times += 1; } }); //启动 t.Start(); return true; } } }
代码功能测试:
设为启动项:
启动项目:
选择【API】
两个接口都可以看到:
访问方式:
【http://localhost:2298/api/Test/StartTime?type=0】开启或关闭
【http://localhost:2298/api/Test/GetTime】获取时间
开启测试:
【http://localhost:2298/api/Test/StartTime?type=1】
稍等一会测试时间:【http://localhost:2298/api/Test/GetTime】
关闭测试:
可以看到试用多线程可以当然控制时间,控制开关操作,那么这类操作基本上都会在各种活动中用到,我之前的老总就喜欢各种各样的活动,每次我都会做类似的开关。当然,这个东西不仅仅用在这个地方,还有很多的环境都会用到,咱们要做到具体问题具体分析,可以在编码过程中为大家解决很多问题。
到这里,多线程的讲解就结束了,希望能对大家有所帮助,欢迎一键三连。
时间判断我这里有一个【Java】版本的,【C#】的类似。
【判断当前时间是否在某个时间范围内_红目香薰-CSDN博客】