c# - ASP.NET 坏习惯:存储在 Session 中的不可序列化对象
问题描述
我有一个类似的代码
Session["key"] = "value";
但根据 Fortify SCA 的说法,这被认为是一种不好的做法,原因是“存储在会话中的不可序列化对象”。
解决这个问题的最佳方法是什么?如何使字符串“值”可序列化?
解决方案
我认为这是一个误报。
来自强化文档:
为了正确序列化会话,应用程序存储为会话属性的所有对象都必须声明该
[Serializable]
属性。此外,如果对象需要自定义序列化方法,它还必须实现ISerializable
接口。
由于string
没有实现ISerializable
,所以不会通过检查。
推荐阅读
- python - 如果 pandas .to_csv 包含超过 32,767 个字符,它是否可以正确导出单元格(没有数据丢失)?
- typescript - 基于打字稿类的组件中的Vuetify日历
- sql - 将我的 Coalesce 包装在子查询中会使我的查询更高效还是什么都不做?
- outlook - ActiveExplorer().Selection 在 Outlook C# 中返回以前选择的邮件
- javascript - 如何通过反应以快递方式向mailchimp发送发布请求
- cmake - 需要生成文件的 CMake 生成
- terraform - 尝试传递 aws_secretsmanager_secret_version 值时出错
- sql-server - SQL Server 2014:传递给 LEFT 或 SUBSTRING 函数的长度参数无效
- python - 根据python中DataFrame中的索引选择系列
- sql - 总和、枢轴或大小写?