当前位置:  开发笔记 > 编程语言 > 正文

在ASP.NET应用程序之外使用HttpRuntime.Cache可以吗?

如何解决《在ASP.NET应用程序之外使用HttpRuntime.Cache可以吗?》经验,为你挑选了2个好方法。

Scott Hanselman 说是的.

将System.Web添加到非Web项目是让人们恐慌的好方法.另一种是在C#应用程序中添加对Microsoft.VisualBasic的引用.尽管如此,两者都是合理且有用的事情要做.

MSDN 说没有.

Cache类不适用于ASP.NET应用程序之外.它的设计和测试用于ASP.NET,以便为Web应用程序提供缓存.在其他类型的应用程序中,例如控制台应用程序或Windows窗体应用程序,ASP.NET缓存可能无法正常工作.

那我该怎么想?



1> Joel Fillmor..:

我意识到这个问题已经过时了,但为了帮助任何通过搜索找到这个问题的人,值得注意的是.net v4包含了针对此类场景的新通用缓存.它位于System.Runtime.Caching命名空间中:

https://msdn.microsoft.com/en-us/library/dd997357(v=vs.110).aspx

对默认缓存实例的静态引用是:MemoryCache.Default


@Juan - 是的,不幸的是它没有包含在客户端配置文件中.根据错误报告,微软计划最终将其移至那里.您可以通过投票显示对此修复的支持:https://connect.microsoft.com/VisualStudio/feedback/details/558309/move-system-runtime-caching-dll-to-client-framework

2> Doron Yaacob..:

使用HttpRuntime.Cache应该没有任何问题.它是一个复杂的内存中哈希表,在Web上下文之外非常有用.不过,这可能是一个有点代码气味的引用HttpRuntime.Cache在非HTTP相关的应用程序,因此它可以是一个好主意来包装它背后的一些ICACHE界面和使用尽可能.

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有