gpt4 book ai didi

asp.net - 如果工作进程回收,ViewState 变量会中断

转载 作者:行者123 更新时间:2023-12-02 20:11:20 25 4
gpt4 key购买 nike

我有以下属性来在 ViewState 中保存某些页面级别信息:

protected ViewStateModel Model
{
get
{
if (_pageModel == null)
{
_pageModel = (ViewStateModel) ViewState[_pageModelKey];
if (_pageModel == null)
{
_pageModel = new ViewStateModel();
ViewState[_pageModelKey] = _pageModel;
}
}

return _pageModel;
}
set
{
ViewState[_pageModelKey] = _pageModel = value;
}
}

这非常有效,直到 IIS 工作进程被回收为止。我得到一个

Unable to cast object of type 'ViewStateModel' to type 'ViewStateModel

现在,如果我进行调试,我会看到 ViewState 仍然包含 ViewStateModel 类型的对象及其所有值,但是如果当我将其类型与我定义的 Model 类进行比较时,它将返回 false

// this always returns false if the worker process has been recycled
ViewState[_pageModelKey] is ViewStateModel

最佳答案

IIS 工作进程回收不应影响 ViewState。回收会影响 SessionApplication 状态,但 ViewState 只是页面上的加密隐藏字段。如果它影响 ViewState,您很可能会得到以下异常:

ViewState is invalid for this page and might be corrupted.

查看此支持 article看看任何建议是否有帮助。

关于asp.net - 如果工作进程回收,ViewState 变量会中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10456489/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com