繁体   English   中英

静态Web API与静态上下文?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM