gpt4 book ai didi

c# - ASP.Net session 问题

转载 作者:太空宇宙 更新时间:2023-11-03 19:36:14 27 4
gpt4 key购买 nike

我正在使用 VSTS 2008 + C# + .Net 3.5 + IIS 7.0 + ASP.Net。我想知道如果我的网站同时有aspx 页面和html 页面, session 变量是否只在aspx 页面中传输?或者 session 可以在 aspx 和 html 页面中传输? (转移我的意思是用户点击我网站内的链接遍历我的网站,例如我的网站中有1.aspx,1.html和2.aspx,1.aspx有链接到1.html,当用户点击1.html在1.aspx中链接到1.html,我的意思是转到1.html。)

我有这种困惑,因为在 aspx 中我们可以很容易地从 ASP.Net Session 对象访问 session 状态,但是对于 html 页面,我不知道 session 是如何维护的。

另一个困惑是,我认为 session 是ASP.Net的概念,不是html页面的概念,所以我认为 session 只在aspx页面中维护。如果我错了,请纠正我。 :-)

最佳答案

不, session 不会丢失。 ASPX -> HTML -> ASPX 可以。

在上面的序列中,对 HTML 页面的请求也将收到 cookie,但它将被忽略。

创建 session 时,会将 cookie 发送到浏览器(本质上,它用作服务器端 session 逻辑中的查找键)。无论目标是什么,从该浏览器实例到同一域的每个请求都将包含 cookie。

要查看此内容,请创建一个使用 session (例如 Session["x"] = "foo";)的 .aspx 页面,并使页面引用一对其他资源,例如图像或脚本。

如果您随后使用 HTTP 流量监视器,例如 FiddlerCharles Proxy (两者都适用于所有浏览器),您会看到每个请求中都包含 cookie。

.aspx 页面将使用 Set-Cookie: header 进行响应,随后的浏览器请求将包含一个 Cookies: header 。

关于c# - ASP.Net session 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1426087/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com