gpt4 book ai didi

asp.net - Azure appfabric 缓存、从 Linq 到 SQL 的匿名类的序列化问题

转载 作者:行者123 更新时间:2023-12-02 08:10:42 25 4
gpt4 key购买 nike

我在将匿名类的 List<> 放入缓存时遇到问题。

var cache = new DataCacheFactory().GetCache("default");
var parts = somethingIQueryable.Select(i => new { i.s1, i.s2 } );
cache.Put("somekey", parts.ToList(), TimeSpan.FromMinutes(2));

这会引发序列化异常。但是,如果我将数据放入这样的类中,它就会起作用:

public class A { public string s1, public string s2 }    

var cache = new DataCacheFactory().GetCache("default");
var parts = somethingIQueryable.Select(i => new A { s1 = i.s1, s2 = i.s2 } );
cache.Put("somekey", parts.ToList(), TimeSpan.FromMinutes(2));

我宁愿不必为进入缓存的每一点数据定义类,并且想知道是否有办法使第一个示例起作用?

最佳答案

您将无法序列化匿名类型并将它们存储在这样的缓存中,不幸的是,需要创建 List<A>并存储它。

这是因为没有任何东西可以与匿名类型进行比较来进行序列化和反序列化。简而言之,它无法知道匿名类型是什么,因为顾名思义,它是匿名的。

关于asp.net - Azure appfabric 缓存、从 Linq 到 SQL 的匿名类的序列化问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8534825/

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