如何维护webrequest的会话和cookie?

时间:2012-12-10 09:44:48

标签: cookies session asp.net vb.net

我创建了一个具有获取股票详细信息功能的应用程序。创建它是为了在HTTPS站点上发布数据。

我想在此调用中维护会话状态和Cookie。我该怎么做这个任务?

我在第1点开始会话。第2点调用函数,函数失去会话和cookie。

如何将会话传递到Web请求网址? Web请求发生在同一个应用程序服务器中。

这是我的代码:

Function getStockDtl()
    session("stockid")="123456"
    Dim url As String = "some url.aspx"
    Dim req As WebRequest = HttpWebRequest.Create(url)
    Dim sread As New StreamReader(req.GetResponse.GetResponseStream)
    Dim RString As String = sread.ReadToEnd
End Function

2 个答案:

答案 0 :(得分:2)

首先,这似乎不是实现获取股票详细信息的最佳方式。如果您访问的网站位于同一台服务器上,您可以创建一个Web服务并调用它吗?

其次,如果你想让它工作,你不能只是将一个查询字符串传递给url而不是试图将它存储在会话中(这将是首选的简单解决方案)

您正在执行的操作将无法正常工作,因为您要将其添加到会话缓存(您正在向Web请求发送的Web应用程序无法使用),您可以通过将值放在应用程序中来解决此问题缓存(但我只会这样做,如果这是你设置此会话的唯一位置,而且看起来一般都很乱。)

答案 1 :(得分:-1)

有关如何使用相同的会话信息添加CookieContainer并发出多个请求的信息,请参阅此帖子:

Multiple WebRequest in same session