tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルGetResponseでのSessionの共有について
記事No11226
投稿日: 2014/02/27(Thu) 22:25
投稿者むらっち@Snow
HttpWebRequestを利用して他のASPXを実行しているのですが、
とび先のASPXではSessionを利用した処理を行っているため、
Sessionを共有したいと考えたのですが、
HttpWebRequest.CreateするとSessionがカラになってしまうため、
GetResponseする前にCookieContainerを設定してみましたが、
Timeoutである20秒後に?「Sample1.aspx」が実行され、
GetResponseがタイムアウトになってしまいます。

ちなみにCookieContainerの設定ををコメントにすると
とび先のSessionは空のままですが、GetResponseで
即座に実行されます。

SessionをGetResponse先のASPXと共有することはできますでしょうか?


    Session("Test") = "Hogehoge"

        Dim uriBaseUrl As New Uri(Me.Request.Url.AbsoluteUri)
        Dim uriRequest As New Uri(uriBaseUrl, "../../Sample1.aspx")
        Dim wrqGetReport As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create(uriRequest.AbsoluteUri)

        wrqGetReport.Timeout = 20000 '20秒
        wrqGetReport.CookieContainer = New System.Net.CookieContainer

        Dim ckcSession As New System.Net.CookieContainer
        For Each strKey As String In Request.Cookies.AllKeys
            Dim ckiSrc As System.Web.HttpCookie = Request.Cookies(strKey)
            Dim ckiDes As New System.Net.Cookie(ckiSrc.Name, ckiSrc.Value, ckiSrc.Path, uriRequest.Host)

            ckiDes.Expires = ckiSrc.Expires
            ckiDes.HttpOnly = ckiSrc.HttpOnly
            ckiDes.Secure = ckiSrc.Secure

            ckcSession.Add(ckiDes)
        Next

        wrqGetReport.CookieContainer = ckcSession

        wrpResponse = wrqGetReport.GetResponse()

[ツリー表示へ]