加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – ASP.NET MVC缓存因身份验证而异

发布时间:2020-12-12 16:32:39 所属栏目:MsSql教程 来源:网络整理
导读:我在最近 launched tiny webapp使用LINQ2SQL使用ASP.NET Preview 5(将很快升级到Beta版). 我对我的工作感到非常自豪,直到Silverlight.net在第一页上展示它,并开始收到超过谦卑的访客. 由于某些原因,用户有时会获得LINQ2SQL抛出的“指定转换无效” – 这是因为
我在最近 launched tiny webapp使用LINQ2SQL使用ASP.NET Preview 5(将很快升级到Beta版).

我对我的工作感到非常自豪,直到Silverlight.net在第一页上展示它,并开始收到超过谦卑的访客.

由于某些原因,用户有时会获得LINQ2SQL抛出的“指定转换无效” – 这是因为未经身份验证的用户被处理为“访客”用户,并且控制器正在加载有关每个匹配的用户“访客”的信息.

在第一页,顶部有一个“欢迎[USERNAME]”,可以使用Donut Caching轻松缓存.

然而,在中间,有一个“什么是Dudlers.com”块,只能显示给未经身份验证的用户,另一个“关于您”块只能显示给经过身份验证的用户.这些块太复杂了,不能使用甜甜圈缓存进行缓存;他们的方式太不一样,会很乱.

我想根据用户的身份验证状态缓存第一个.因此,未经身份验证的用户(不用说,大多数)获取“访客”缓存页面,其他经过身份验证的用户将显示一个新的非缓存页面.

有没有选择指定通过身份验证不同的缓存?就像是:
[OutputCache(VaryBy = Authentication)]

还是有另一个非ASP.NET MVC解决方案? (可能调整MS SQL)

我希望我的问题很清楚.
我在同一个专用服务器上运行Windows 2003和MS SQL 2005 Express.

谢谢!

解决方法

您不必使用甜甜圈缓存机制. ASP.NET具有VaryByCustom选项,允许您确定如何更改缓存.

查看更多信息:http://aspadvice.com/blogs/ssmith/archive/2007/10/29/VaryByCustom-Caching-By-User.aspx

应该适用于ASP.NET MVC.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读