gpt4 book ai didi

c# - 将 C# 对象保存到磁盘而不对其进行序列化?

转载 作者:太空狗 更新时间:2023-10-30 01:07:08 26 4
gpt4 key购买 nike

我们有一个现有的 asp.net 4.0 网站,它使用 HttpRuntime.Cache 做很多事情。在我开始处理它之前它是这样创建的,现在我们遇到了清除缓存和网站崩溃的问题,因为它总是希望缓存在那里(我知道......他们认为缓存是什么!?)。

所以我需要的是一个永久性的替换缓存,这样我就可以将它替换为 HttpRuntime.Cache 而不会影响网站。我研究了序列化,但并非所有对象都是可序列化的,而且让它们都可序列化也不是一种选择(它们太多了,散落在各处)。

有没有办法将内存中的任何对象/变量/任何内容保存到磁盘,并在以后读取它,而不必序列化它?

更新:

感谢您到目前为止的评论和回答。从您的想法开始,我做了一些更多的谷歌搜索并发现了这篇文章,该文章演示了(带有您可以下载的示例解决方案)如何在 .Net 4.0 中使用您自己的自定义缓存提供程序。我还没有能够将它集成到我们的 Web 应用程序中并对其进行适当的测试(希望今天晚些时候我能够)但我想我会把它放在这里看看你是否有任何想法。 .. 那么你认为我应该注意什么?或者这是一个可行的(而且非常暂时的)解决方案?

File-Based Cache for Web and non-Web Apps plus Extend ASP.NET 4.0 OutputCacheProvider

最佳答案

您可以使用反射编写自己的“序列化”,获取所有原始字段并将其保存为类路径和值。这将是一个漫长的操作,但你可以将类保存为文件。更好的解决方案是使用真正的序列化。

关于c# - 将 C# 对象保存到磁盘而不对其进行序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13448828/

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