我将托管我的ASP.NET MVC4应用程序作为冗余的Azure应用程序。在会话期间,应用程序执行计算开销很大的操作,这些操作会产生不可序列化的对象。对象的创建是可重复的;我可以在每次需要对象时执行代价高昂的操作,但我更喜欢在第一次执行该操作,并保存对象以供以后重用。
我想使用Azure中的标准分布式会话状态机制来存储通常的会话状态信息,但该机制要求会话数据是可序列化的。有没有其他机制可以用来缓存创建代价高昂的非序列化对象?
鲍勃
发布于 2012-11-26 13:51:14
这些对象是否必须存储在集中存储中,或者可以将它们存储在"InProc“会话状态中?
如果不是,我担心你需要将它们序列化为某种东西( SQL Azure、文件、app-fabric缓存等)。
所以要么找到一种方法将它们序列化为可持久化的东西,要么将它们存储在RAM中,并在每个web服务器上都有一个额外的副本
发布于 2012-11-26 14:28:32
目前,Windows Azure提供的所有分布式缓存服务都需要序列化,不仅是共享缓存,还包括专用/共置缓存。
但是,如果您要在内存缓存中使用,则不需要序列化。但这不利于向外扩展,如果只有1个实例,则可能无法使用azure SLA。
所以我的建议是优化你的序列化,并尝试使用azure缓存。
https://stackoverflow.com/questions/13557732
复制相似问题