【发布时间】:2023-04-02 15:54:02
【问题描述】:
我需要在创建/更新/删除期间为在数据库中存储一个序列化 [使用二进制序列化]对象审计 目的。 另一个要求是能够在任何时间点查看 2 个审计日志条目之间的差异,即能够反序列化 相同类型的 2 个对象并比较它们属性值。
现在这一切都很酷,直到你发布一个新版本,在这个版本中这个被审计的对象发生了变化——比如你已经删除了几个属性并添加了一个新属性:现在尝试反序列化从旧的审核日志条目,它会失败。
我们的网络服务器管理员非常严格,不允许我们在 GAC 中安装任何东西,所以问题是假设您只安装了最新的 Assemly 版本,如何解决这个问题?
【问题讨论】:
-
有什么理由不想使用 XmlSerialization ?用于审计的二进制序列化简直是地狱
-
我认为是的。这取决于您的用例,但您将如何处理审计数据?给一些技术人员看?不需要有一个对象来反序列化它。需要在网页上打印好?使用 xslt。显示对对象所做的更改?使用通用方法来区分您的 xml 文档。
标签: c# .net serialization audit