SQL Server 会话状态导致序列化错误

发布于 2024-08-13 16:47:34 字数 359 浏览 1 评论 0原文

我有一个使用默认 WCF 序列化的 .Net 3x 应用程序,最近设置了使用 SQL Server 会话状态的应用程序,但无法将这些对象存储在 sql server 的会话状态中,只能存储在 proc 会话状态中。

在各种类上出现错误,指出:

无法序列化会话状态。在“StateServer”和“SQLServer”模式下,ASP.NET 将序列化会话状态对象,因此不允许使用不可序列化的对象或 MarshalByRef 对象。如果自定义会话状态存储在“自定义”模式下完成类似的序列化,则适用相同的限制。

我认为 wcf 的默认序列化就足够了,但显然还不够。关于需要做什么来纠正编辑整个应用程序并将 [Serialized] 添加到类中的问题有什么想法吗?

I have an .Net 3x application using default WCF serialization and recently setup application to use SQL Server Session state and am not being able to store those objects in session state with sql server, only in proc session state.

Getting errors on various classes stating:

Unable to serialize the session state. In 'StateServer' and 'SQLServer' mode, ASP.NET will serialize the session state objects, and as a result non-serializable objects or MarshalByRef objects are not permitted. The same restriction applies if similar serialization is done by the custom session state store in 'Custom' mode.

I assumed that the default serialization of wcf would be sufficient but apparently not. Any ideas on what needs to be done to correct this short of editing entire app and adding [Serializable] to classes?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

动听の歌 2024-08-20 16:47:34

看起来你有四个选择:

  1. 切换回 InProc 模式
  2. 让你的对象变得可序列化,
  3. 而不是在 Session 字典中存储高级容器对象,而是使用已经可序列化的低级对象(例如字符串、整数、等)
  4. 避免使用传统的会话状态,并切换到一些替代的状态管理方法,而不是

选项 3 通常会比 2 运行得更快,尽管它也需要更多工作。

It seems like you have four choices:

  1. Switch back to InProc mode
  2. Make your objects [Serializable]
  3. Instead of storing high-level container objects in the Session dictionary, use lower-level objects instead, that are already serializable (such as strings, ints, etc)
  4. Avoid using traditional session state, and switch to some alternative state management method instead

Option 3 will generally run faster than 2, although it's also more work.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文