В моем code
Я отправляю HttpWebRequest
на страницу моего сайта.Как манипулировать значениями сеанса во время HttpWebRequest?
Когда request
отправляет на эту страницу, он не поддерживает значения Session
.
Ниже приведен код, откуда я генерации веб-запроса:
Public Overloads Shared Function ReadURL(ByVal sUrl As String) As String
Dim sBody As String
Dim oResponse As HttpWebResponse
Dim oRequest As HttpWebRequest
Dim oCookies As New CookieContainer
oRequest = WebRequest.Create("http://localhost:64802/inventory/purchase_order.aspx?id=5654")
oRequest.CookieContainer = oCookies
oResponse = oRequest.GetResponse()
Dim oReader As New StreamReader(oResponse.GetResponseStream())
sBody = oReader.ReadToEnd
oReader.Close()
oResponse.Close()
Return sBody
End Function
Ниже приведен код, написанный на Page_Load из Purchaseorder.aspx.vb:
iDomains_ID = Session("Domains_ID")
iLogin_ID = Session("Login_ID")
sPage = Request.Path
If Request.QueryString.Count > 0 Then sPage &= "?" & Request.QueryString.ToString()
sPage = shared01.Encrypt(sPage, Application("PK"))
If Not User.Identity.IsAuthenticated Or iLogin_ID = 0 Then
Response.Redirect("/login.aspx?page=" & sPage)
Exit Sub
End If
Выше code
не получает значения session
и перенаправляет их на login page
.
Итак, как я могу поддерживать session
на обеих страницах в течение HttpWebRequest
.
Ищет ваши ответы.
EDIT
Я пытался использовать CookieContainer
класс, как вы можете видеть выше кода. Но это совсем не работает.
Спасибо Его работая отлично. :) Надеюсь, я не создам никаких проблем на сервере. Что ты думаешь? –
@CodeRider: эта версия будет с меньшей вероятностью вызывать проблемы, чем отдельный запрос на сайт, поскольку для обработки запроса будет использоваться только один поток ASP.NET. –
Спасибо, Ричард. Вы мне очень помогли. Я буду отмечать его как ответ после тестирования на сервере. –