gpt4 book ai didi

c# - ASP.NET 无法在同一类型变量中转换 session 变量

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

我在尝试将 session 变量转换为它所属的变量类型时遇到了一些“几乎是随机的”错误。只是为了说清楚:

我有一个类“Elemento”,我只是创建它的一个实例并将它放在我的 session 变量中:

Elemento elem = new Elemento(id, quantity);
list.Add(elem);
context.Session["cart"] = list;

现在我必须恢复我的列表,我尝试使用:

list = (List<Elemento>)context.Session["cart"];

嗯.. 这个“有时”有效,有时无效!我第一次尝试它时它工作得很好,但现在我有“内部服务器错误 500”,并出现此错误:

Impossibile eseguire il cast di [A]System.Collections.Generic.List1[Elemento] a
[B]System.Collections.Generic.List
1[Elemento]. Il tipo A ha origine da 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' nel contesto 'LoadNeither' nella posizione 'C:\Windows\assembly\GAC_64\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll'. Il tipo B ha origine da 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' nel contesto 'LoadNeither' nella posizione 'C:\Windows\assembly\GAC_64\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll'.

翻译它..

Cannot cast [A]System.Collections.Generic.List1[Elemento] to
[B]System.Collections.Generic.List
1[Elemento]. Type A have origin from 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' with context 'LoadNeither' and position 'C:\Windows\assembly\GAC_64\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll'. Type B have origin from 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' with context 'LoadNeither' and position 'C:\Windows\assembly\GAC_64\mscorlib\2.0.0.0__b77a5c561934e089\mscorlib.dll'.

我可以解决这个“一段时间”清空 IIS 缓存..但是当我从 visual studio 构建解决方案时它会再次发生。

我在某些地方读到我可以使用接口(interface)解决这个问题..但是由于我仍在学习如何使用它们我现在不能直接尝试,有一些经过测试的解决方案吗?

编辑:适用于 krshekhar 解决方案:

list = context.Session["cart"] as List<Elemento>;

谢谢!

最佳答案

我认为这可能是 IIS 内存的问题。您是否尝试重新启动 IIS?使用另一个 IIS 服务器?

我建议使用一些其他方式来存储对象 - 例如 Cookies。

如果您考虑可伸缩性 - Cookie 将为您提供比 session 对象更好的解决方案,因为它们存储在客户端而不是服务器。

祝你好运

关于c# - ASP.NET 无法在同一类型变量中转换 session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14212732/

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