国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

NancyFx框架檢測任務管理器詳解

2019-10-29 21:08:56
字體:
來源:轉載
供稿:網友

本文為大家分享了NancyFx框架檢測任務管理器的具體方法,供大家參考,具體內容如下

先建一個空的項目和之前的NancyFx系列一樣的步驟

NancyFx,任務管理器

NancyFx,任務管理器

然后建三個文件夾Models,Module,Views

NancyFx,任務管理器

然后分別安裝一下組件

jQuery

Microsoft.AspNet.SignalR

Microsoft.Owin

Nancy

Nancy.Owin

然后往Model類里面添加CPUHub類,Broadcaster類

CPUHub類

NancyFx,任務管理器

public class CPUHub:Hub  {    private readonly Broadcaster broadcaster;    public CPUHub():this(Broadcaster.broadcaster)    {    }    public CPUHub(Broadcaster broadcaster)    {      this.broadcaster = broadcaster;    }  }

Broadcaster類

NancyFx,任務管理器

public class Broadcaster  {    private readonly static Lazy<Broadcaster> lazy = new Lazy<Broadcaster>(()=>new Broadcaster(GlobalHost.ConnectionManager.GetHubContext<CPUHub>().Clients));    private readonly TimeSpan timeSpan = TimeSpan.FromMilliseconds(1000);    private readonly Timer timer;    public static Broadcaster broadcaster    {      get { return lazy.Value; }    }    private IHubConnectionContext hubConnectionContext    {      get;      set;    }    private Broadcaster(IHubConnectionContext hubConnectionContexts)    {      hubConnectionContext = hubConnectionContexts;      timer = new Timer(BroadcastCpuUsage,null,timeSpan,timeSpan);    }    private void BroadcastCpuUsage(object o)    {      string cpu = GetCurrentCpu();    }    private string GetCurrentCpu()    {      string currentCpu = "";      HttpClient httpClient = new HttpClient();      httpClient.BaseAddress = new Uri("http://localhost:3039");      var response = httpClient.GetAsync("api/cpu").Result;      if (response.IsSuccessStatusCode)      {        currentCpu = response.Content.ReadAsStringAsync().Result;      }      return currentCpu;    }  }

然后在往Module里面添加CPUModule類

public class CPUModule:NancyModule  {    PerformanceCounter performanceCounter;    public CPUModule():base("api/cpu")    {      InitializePerformanceCounter();      Get("/",Lexan=>       {        int cpu = (int)Math.Ceiling(performanceCounter.NextValue());        return Response.AsText(cpu.ToString());      });    }    private void InitializePerformanceCounter()    {      performanceCounter = new PerformanceCounter();      performanceCounter.CategoryName = "";      performanceCounter.CounterName = "";      performanceCounter.InstanceName = "";      performanceCounter.NextValue();      Thread.Sleep(1000);    }  }

NancyFx,任務管理器

然后添加index.html頁面在根目錄下

NancyFx,任務管理器

<!DOCTYPE html><html><head>  <title>NancyTaskManager</title></head><body>  <label id="lblVal"></label>  <br />  <canvas id="cvPercentage"></canvas>  <br />  <br />  <canvas id="cvGraph" height="450" width="600"></canvas>  <script src="Scripts/jquery-2.1.0.js"></script>  <script src="Scripts/jquery.signalR-2.0.2.js"></script>  <script src="Scripts/Chart.js"></script>  <script src="/signalr/hubs"></script>  <script src="Scripts/taskManager.js"></script></body></html>

繼續往根目錄里面添加Startup類

[assembly:OwinStartup(typeof( NancyFxTaskManager.Startup))]namespace NancyFxTaskManager{  public class Startup  {    public void Configuration(IAppBuilder app)    {      app.MapSignalR().UseNancy();          }  }}

NancyFx,任務管理器

好了我們準備就緒,看看運行效果

NancyFx,任務管理器

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 九台市| 高雄县| 集安市| 梁河县| 聊城市| 绍兴市| 白银市| 萝北县| 泸定县| 南华县| 兰溪市| 泰顺县| 华容县| 阿拉善左旗| 汉源县| 泸溪县| 昌乐县| 阳泉市| 甘洛县| 寻甸| 巫溪县| 宝山区| 邻水| 荥经县| 红原县| 八宿县| 新竹市| 卢龙县| 海兴县| 丽江市| 绥江县| 九江市| 石台县| 泰顺县| 镇康县| 墨江| 治多县| 昌平区| 黄骅市| 鄂温| 永济市|