タイトル | : GetResponseでのSessionの共有について |
記事No | : 11226 |
投稿日 | : 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()
|