[英]Restful web API with static context?
我正在编写一个工具,您可以在其中查看CPU或Web中内存的PerfomanceCounter.NextValue()。 现在,在绘制图表的前端,我有一个休息的Web API和angular。 我考虑过Websockets,但我认为最好从前端使用轮询。 但是其余的api方法应该独立于对象,并且performancecounter类始终花费大量时间进行初始化。
我已经尝试过每次获取请求到来时都要初始化PerformanceCounter,但这会占用很多时间,并且响应时间真的很糟糕。 我想查看每秒cpu的实时图表的新值。
您有什么想法避免每次初始化吗?
您可以使用Lazy静态初始化,PerformanceCounter对象是安全的。
例如:
public static Lazy<PerformcanceCounter> Counter= new Lazy<PerformcanceCounter>(() =>{
return new PerformanceCounter(categoryName, counterName, false);
});
然后在如下代码中使用它:
Counter.Value.Next();
首次访问Lazy对象时,初始化将只运行一次。
另一种技术是使用静态构造函数 。 唯一的不同是类型构造函数将首先访问该类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.