C# Cookie是存储会话变量的唯一方法吗?

C# Cookie是存储会话变量的唯一方法吗?,c#,session,variables,C#,Session,Variables,我想存储一个用户设置(语言)。因此,我可以在页面加载时获得相应的资源。我想曲奇饼是一个不错的选择,但这不是一个选择,太难了,因为我已经尝试了很多次,但都没有成功 两天后,我想放弃饼干,看看是否有其他方法可以达到同样的目标 我读过这篇文章 但是我不确定我是否能用它实现我想要的 在我的情况下,我可以使用什么样的cookie替代品?根据您所寻找的持久性级别,您还可以使用其他几种方法。第一种方法是使用会话来保存这些设置。但是,如果使用会话,则设置的有效期仅为会话的有效期。如果您的网站具有某种身份验证接口

我想存储一个用户设置(语言)。因此,我可以在页面加载时获得相应的资源。我想曲奇饼是一个不错的选择,但这不是一个选择,太难了,因为我已经尝试了很多次,但都没有成功

两天后,我想放弃饼干,看看是否有其他方法可以达到同样的目标

我读过这篇文章 但是我不确定我是否能用它实现我想要的


在我的情况下,我可以使用什么样的cookie替代品?

根据您所寻找的持久性级别,您还可以使用其他几种方法。第一种方法是使用会话来保存这些设置。但是,如果使用会话,则设置的有效期仅为会话的有效期。如果您的网站具有某种身份验证接口,则可以将与用于身份验证的用户名相关的设置存储在数据库中。如果您不涉及身份验证,只想记住用户是随特定计算机/设备而来的,那么您可以通过在系统上留下足迹(并非微不足道)并将足迹存储在与可能遇到的任何设置相关的数据库中来实现相同的结果


如果您无法使用这些选项,那么cookie将是您剩下的唯一选择。

根据您所寻找的持久性级别,您还可以使用其他几种方法。第一种方法是使用会话来保存这些设置。但是,如果使用会话,则设置的有效期仅为会话的有效期。如果您的网站具有某种身份验证接口,则可以将与用于身份验证的用户名相关的设置存储在数据库中。如果您不涉及身份验证,只想记住用户是随特定计算机/设备而来的,那么您可以通过在系统上留下足迹(并非微不足道)并将足迹存储在与可能遇到的任何设置相关的数据库中来实现相同的结果


如果您无法使用这些选项,那么cookie将是您剩下的唯一选择。

使用cookie保留会话ID的另一种选择是使用无cookie会话管理,这在您链接的文章中有提及。cookie不会使用会话标识符保存在客户机上,而是保存在查询字符串中。这绝对是一个“更丑陋”的解决方案,但这是你仅有的几个选择之一。您可以保留随每个请求一起发送的cookie,也可以在查询字符串上粘贴一些东西来标识请求

无论是哪种方式,您都需要某种方式让服务器获取标识符并检索会话数据——无论是从已知cookie获取ID还是从已知查询字符串值获取ID


我的意思是,可能还有其他方法——在每一页上都保留一个隐藏的值,但我认为这会变得更加“丑陋”。您希望将该信息保留在正在呈现的页面/信息之外。

使用cookie保留会话ID的另一种替代方法是使用无cookie会话管理,您链接到的文章中提到了这一点。cookie不会使用会话标识符保存在客户机上,而是保存在查询字符串中。这绝对是一个“更丑陋”的解决方案,但这是你仅有的几个选择之一。您可以保留随每个请求一起发送的cookie,也可以在查询字符串上粘贴一些东西来标识请求

无论是哪种方式,您都需要某种方式让服务器获取标识符并检索会话数据——无论是从已知cookie获取ID还是从已知查询字符串值获取ID


我的意思是,可能还有其他方法——在每一页上都保留一个隐藏的值,但我认为这会变得更加“丑陋”。您希望将该信息保留在正在呈现的页面/信息之外。

会话变量不是存储在cookie中,而是存储在服务器内存中。只有一个会话ID存储在cookie中(但取决于设置)@SteveB,因此所有客户端都会在内存服务器端设置它们的设置,但对每个用户来说都是唯一的?“我认为cookie是一种方法,但它不是一个选项,太难了,因为我已经尝试了很多次,但都没有成功。”Cookie无疑是在客户端存储临时变量的方法,它们并不难。您不能使用任何基于会话的内容,因为当浏览器关闭时(或在某段时间不活动后),会话将被销毁。如果你有类似的东西,你也可以将它存储在用户的个人资料中。然而,就目前而言,这确实是一个开放性的问题(“有什么建议吗?”关于什么?请问一个具体的问题。这是一个开放性的问题,因为我想探索存储用户偏好的其他可能性。cookie不起作用。我喜欢10个教程,只有编写cookie部分起作用,但nvm,我有两个线程,目前还没有人能够解决。@DeadManWalking-我们不做开放端ed questions.想出一个特定的问题会话变量不存储在cookie中,而是存储在服务器内存中。只有会话ID存储在cookie中(但取决于设置)@SteveB,因此所有客户端的设置都会存储在内存服务器端,但每个用户的设置都是唯一的?“我认为Cookie是一个不错的选择,但这不是一个选项,因为我已经尝试了很多次,但都没有成功。”Cookie绝对是在客户端存储临时变量的方法,它们并不难。你不能使用任何基于会话的方法,因为当浏览器关闭时(或在一段时间不活动后),会话被破坏。如果您有类似的内容,您也可以将其存储在用户配置文件中。但是,就目前而言,这确实是一个开放式问题(“任何建议?”关于什么?。请问一个具体的问题。它的意思是