加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

什么可以导致ASP.NET工作进程被回收?

发布时间:2020-12-16 07:20:50 所属栏目:asp.Net 来源:网络整理
导读:这是我目前的问题: 我猜测我的问题(如下所述)是由ASP.NET工作进程被回收引起的,根据下面的答案 – 我使用InProc会话存储并且由于限制而没有看到太多移动的机会对于其他类型的存储,所有会话对象都是可序列化的.但是,我无法弄清楚什么会使工作进程像我看到的
这是我目前的问题:

我猜测我的问题(如下所述)是由ASP.NET工作进程被回收引起的,根据下面的答案 – 我使用InProc会话存储并且由于限制而没有看到太多移动的机会对于其他类型的存储,所有会话对象都是可序列化的.但是,我无法弄清楚什么会使工作进程像我看到的那样经常被回收 – 据我所知,在app目录中没有任何文件更改,并且IIS中的选项似乎暗示该过程每1,740分钟只能回收一次 – 这比实际的会话损失要少得多.那么,我现在的问题是,哪些不同的案例可以导致ASP.NET工作进程被回收?

这是我原来的问题:

我的ASP.NET Web应用程序中出现了一个难以重现的问题.该应用程序有一个主要的.aspx页面,它被加载并初始化了许多会话变量.此页面使用ASP.NET Ajax Sys.Net.WebRequest类重复访问另一个.aspx页面,该页面使用会话变量进行数据库查询并更新主页面(主页面永远不会被重新请求).

有时,在使用页面一段时间后,导致成功的HTTP请求,其中在主页面中创建的会话正确地转移到子页面,其中一个请求似乎导致创建新的ASP.NET会话 – 所有会话变量丢失(导致在我的代码中抛出异常),并在动态请求的页面中报告新的会话ID.这意味着突然,主页面与服务器断开连接 – 就服务器而言,用户不再登录.

我几乎是肯定的,它不是会话超时 – 超时时间设置为荒谬的,发生这种情况所需的时间是可变的但是永远不会导致会话超时,并且常量Sys .Net.WebRequests应该刷新会话计时器.

那么,还有什么可能会导致HTTP请求失去与ASP.NET会话的联系?遗憾的是,当我遇到这种情况时,我还没有嗅过网络流量,或者我会检查ASP.NET会话cookie是否已经卡住了.

解决方法

一种解决方案是使用StateServer而不是InProc会话管理.

很多事情都可能导致会话状态丢失:

>编辑Web.Config
> IIS重置
>等

如果会话状态对您的应用程序很重要,则使用SQL状态管理或ASP附带的State Server.净.

干杯,

RB.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读