设置iis网页服务器cpu占比,为什么iis的一个线程池占了100%cpu

这篇博客探讨了一个ASP.NET WebAPI应用中,IIS线程池CPU使用率达到近100%的问题。作者提到,当回收线程池后,CPU使用率会暂时下降,但不久后又会上升。问题可能与数据库操作有关,且代码示例显示在析构函数中调用了`entity.Dispose()`。博主寻求帮助,怀疑可能是代码执行效率或资源管理方面存在不足。
摘要由CSDN通过智能技术生成

为什么iis的一个线程池占了快100%cpu,

这个站点是跑asp.net web api的,大多是数据库的操作。

当回收这个线程池后几分钟,cpu使用率就降下来了。

可是隔一天半天的再去服务器看,cpu又会飙升到快100%。

为什么会这样,这个web api访问量其实不是很大的。

//我沾过来一些示例代码,看看是不是有些地方没注意啊。

public class GoodController : ApiController

{

Entity entity = new Entity();

public GoodController()

{

entity.Configuration.ValidateOnSaveEnabled = false;

}

[HttpPost]

public int GoodPingjia()

{

HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];

HttpRequestBase request = context.Request;

Authentication authentication = new Authentication(request);

if (!string.IsNullOrEmpty(authentication.state))

{

return 0;

}

string orderID = request["orderID"];

Order order = entity.Order.Find(orderID);

GoodEvaluate goodEvaluate = new GoodEvaluate();

goodEvaluate.GoodID = order.GoodID;

goodEvaluate.GoodGategoryID = entity.Good.Find(order.GoodID).GoodGategoryID;

goodEvaluate.Detail = request["Detail"];

goodEvaluate.UserID = authentication.userID;

goodEvaluate.State = 1;

goodEvaluate.Time = DateTime.Now;

entity.GoodEvaluate.Add(goodEvaluate);

order.State |= 16;

return entity.SaveChanges();

}

~GoodController()

{

entity.Dispose();

}

}

//这是那个webapi的代码示例, 这个webapi基本都是这种写法,是不是不能在析构函数里去做 entity.Dispose();啊。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值