c# - Cookie时间问题

标签 c# .net

当我通过 Response.cookies.add(cookie); 添加 cookie 时,我的 cookie 不会放置在客户端,直到客户端从我的站点请求页面。在请求时 .net 会做一些魔术,将 cookie 放在响应中,客户端将存储它。 这是真的吗? 如果上述假设成立,我应该能够通过 cookie = response.cookies("foo") 看到未放置的 cookie . 看似合乎逻辑,但是否正确?

总结一下。

我正在放置一个 cookie,然后在服务请求之前的代码中,我正在检查 cookie 是否在 request.cookies("foo") 中,如果不在,我正在检查response.cookies("foo")。这种方法不起作用。在将 cookie 发送到客户端之前,我将如何读取它。

我需要回答的实际问题; 有没有办法在我将cookies信息发送到浏览器之前查看它?检查 cookie 是否在浏览器上,如果没有,请执行其他检查以查看它是否正在等待发送。如果它正在等待发送,请读取其上的数据

非常感谢。

最佳答案

如果我对问题的理解正确,那么您希望在收到来自客户端的请求后的某个时刻向 HttpResponse 添加一个 cookie。然后在稍后处理您想要再次访问同一个 cookie 的请求时。

这句话可能对你有帮助:

"After you add a cookie by using the HttpResponse.Cookies collection, the cookie is immediately available in the HttpRequest.Cookies collection, even if the response has not been sent to the client."

(来自 http://msdn.microsoft.com/en-us/library/system.web.httpresponse.cookies.aspx)

我建议您只在响应期间的某个时刻处理 cookie。因此,您可以检查它是否在 HttpRequest 中可用,如果不可用,则将其添加到 HttpResponse 并调用您的附加逻辑。

关于c# - Cookie时间问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6781881/

相关文章:

c# - HttpClient 请求限制器和缓冲区的实现

c# - 如何检测我的应用程序在 C# 中处于空闲状态?

c# - 使用连续的 TryParse 调用是否是猜测字符串的 'real type' 的可靠方法?

.net - EventStore 订阅一个类别的流

.net - WPF 中的文档布局有哪些选项?

c# - 通过单个套接字多次发送数据

c# - 跨不同 Web 浏览器的单点登录

c# - 在 CIL 中,为什么 BGE 等于 CLT.UN 后跟 BRFALSE?

c# - 需要帮助确定小型 C# 数字到百分位数转换程序中的错误来源

c# - 如何摆脱 "API restriction UnitTestFramework.dll already loaded"错误?