0
我想从我的代码页面后面获取Web API,并且从Web Api获取响应后,我总是失去会话值。调用Web API后失去会话值
Dim formatter As New JsonMediaTypeFormatter()
Using client = New HttpClient()
Dim chkValue = HttpContext.Current.Session("UserName") // Has a value here
client.BaseAddress = New Uri(apiAddress)
client.DefaultRequestHeaders.Accept.Clear()
client.DefaultRequestHeaders.Accept.Add(New MediaTypeWithQualityHeaderValue("application/json"))
Dim response As HttpResponseMessage = Await client.PostAsync("requestURI", "customObject", "formatter")
If response.IsSuccessStatusCode Then
HttpContext.Current.Session("UserName") // Referenced object has value of nothing
Else
End If
End Using
这是使用异步修饰符的方法,不知道是否可能导致类似这样的事情。
您正在使用2个不同的会话对象来描述问题。你是说在LoggedClientName行测试'HttpContext.Current.Session(“UserName”)'是引用存在的地方,而后来在不存在的地方呢? – 2015-02-24 17:57:20
对不起,它应该是一样的。现在编辑。 – devSuper 2015-02-24 17:59:02
我不会说你的是一个直接重复,但也许这个相关的问题的答案可能有所帮助:http://stackoverflow.com/questions/27672598/windows-phone-8-1-httpclient-and-session-cookies – 2015-02-24 18:02:09