缓存 MVC .NET 4.0

发布于 2024-09-10 20:13:02 字数 418 浏览 4 评论 0原文

我正在尝试缓存一个不为空的选择列表,但出现空异常错误。导致错误的代码行是:(注意 item 是使用 Cache item = new Cache() 创建的;并且 tripVM.friendDropDown 保存选择列表

   item.Insert("friendDropDown", tripVM.friendDropDown,null,DateTime.Now.AddMilliseconds(10000), TimeSpan.Zero);

大多数在线资源都说我可以使用下面的语法,但这在 VS2010 中是不允许的使用.NET 4.0:

   cache["friendDropDown"] = tripVM.friendDropDown;

这个错误来自哪里

I am trying to cache a selectlist which is not null but I get a null exception error. The line of code causing the error is: (note item is created using Cache item = new Cache(); and tripVM.friendDropDown holds the selectlist

   item.Insert("friendDropDown", tripVM.friendDropDown,null,DateTime.Now.AddMilliseconds(10000), TimeSpan.Zero);

Most of the online resources say that I could use the syntax below but this is not allowed in VS2010 using .NET 4.0:

   cache["friendDropDown"] = tripVM.friendDropDown;

Where is this error coming from?

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

巷子口的你 2024-09-17 20:13:02

您应该缓存该数据而不是控件。在控制器内部,检查缓存是否存在,否则添加它。然后,将数据设置为传递给视图的 ViewData 或模型,并从那里访问它。

如果您的目的是缓存整个视图结果,那么您可以使用“OutputCache”属性缓存控制器的输出。

最后,当您去缓存某些内容时,您应该使用 HttpContext.Cache (http://msdn.microsoft.com/en-us/library/system.web.httpcontext.cache.aspx) 这将为您提供一个区域缓存,除非您想创建自己的缓存管理器或使用企业库之类的缓存管理器。

You should be caching that data and not the control. Inside the controller, check if the cache exists otherwise add it. Then you set the data to the ViewData or a Model you pass to the view and access it from there.

If your intention is to cache the entire view results then you can cache the output from the controller using "OutputCache" attribute.

Finally, when you go to cache something, you should be using HttpContext.Cache (http://msdn.microsoft.com/en-us/library/system.web.httpcontext.cache.aspx) this will give you a single area to cache unless you want to create your own cache manager or use one like enterprise libarary.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文