1

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

我想在此调用中维护会话状态和 cookie。我怎样才能完成这项任务?

我在第 1 点有会话。第 2 点调用函数并且函数丢失会话和 cookie。

如何将会话传递给 Web 请求 URL?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
4

2 回答 2

2

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

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

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

于 2012-12-10T10:00:02.883 回答
-1

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

同一会话中的多个 WebRequest

于 2016-02-13T01:12:45.573 回答