码迷,mamicode.com
首页 > 编程语言 > 详细

c# 多线程 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值

时间:2017-11-23 16:33:11      阅读:367      评论:0      收藏:0      [点我收藏+]

标签:程序   内存   右键   时间   程序池   框架   img   png   网上   

在网上找到一段解释:

堆栈是用于存放变量和方法,“位于调用堆栈之上”,我们可以理解为堆栈里面已经没有变量和方法可以调用了,其实也就是程序已经结束了,堆栈都空了(指针在原本堆栈的外部--之上)。
放在我的实际场景里面:我开了一个异步去处理一个事件,而主线程并没有等待这个异步就直接结束了,实际上就是主线程关闭了,异步却还在运行,结果就是内存都释放了,异步当然找不到变量了,就报错了。

触发场景:多线程跑大数据量或者很复杂的计算逻辑的时候,执行时间超过20分钟,线程被IIS自动回收了

解决方案: IIS->应用程序池->找到应用的应用程序池,右键,高级设置->将闲置超时(分钟)改为1740(默认为20分钟)

技术分享图片

 

c# 多线程 由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值

标签:程序   内存   右键   时间   程序池   框架   img   png   网上   

原文地址:http://www.cnblogs.com/paopaohui/p/7885236.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!