提问人:Priyansh Yadav 提问时间:1/15/2023 最后编辑:Qing GuoPriyansh Yadav 更新时间:1/16/2023 访问量:65
asp.net webapp - viewdata 对本地请求变量安全吗?
asp.net webapp - is viewdata safe for local request variable?
问:
我需要什么 -
我有一个 .net7.0 asp.net-webapp (razor)。我想根据每个请求自定义 cshtml 的某些部分,这将由 c# 对应的 PageModel 类代码确定。
我做了什么 - 1 -
使用类静态变量。
结果 - 失误。知道它们对所有用户都是相同的,因此它会破坏网站功能。
2 - 使用 cookie 结果 - cookie
只能附加到响应并在请求时读取,因此数据不能在一个请求中传输,但它有利于跨请求传输数据。
3 - Viewdata[“name”]
结果 - 发现适合我的需要.数据仅适用于该请求。
我想知道的 - 1 -
viewdata 中的数据在请求结束后是否会被销毁或堆积在服务器的内存中。
2 - 以这种方式使用 viewdata 是否安全。在使用它时,我应该记住什么,以便它是安全的,不会加载服务器并提供所需的功能。
答:
2赞
Mike Brind
1/16/2023
#1
您实际上还没有给出任何关于您的需求的细节,但在回答主要问题时,ViewData 不会跨请求存储。它是 PageModel 的一个属性,该属性随每个请求一起实例化,并在处理请求并生成响应后销毁。
ViewData 用于将数据传递到视图/页面。它不是强类型,并且容易出错。因此,建议使用 PageModel 的公共属性将数据传递到视图/页面。ViewData 的主要用例是将数据传递到弱类型的布局页面。
https://www.learnrazorpages.com/razor-pages/viewdata
评论
0赞
Priyansh Yadav
1/16/2023
好吧,我不需要传递强类型数据。它的所有值,而不是包括 html 标签在内的任何值。所以 viewdata 就是这样。
评论