Я пытаюсь использовать веб-API из моего кода за страницей и после получения ответа от Web Api, я всегда теряю значения сеанса.Потеря значений сеанса после вызова веб-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
Это метод, использующий модификатор Async, но не уверен, что это может привести к чему-то подобному.
Вы используете 2 разных объекта сеанса для описания проблемы. Вы говорите, что тестирование 'HttpContext.Current.Session (« UserName »)' в строке LoggedClientName является ссылкой, где существует ссылка, а не позже в методе, где это не так? –
Извините, он должен быть таким же. Отредактировано сейчас. – devSuper
Я бы не сказал, что ваш является прямым дубликатом, но, возможно, ответ на этот связанный вопрос может помочь: http://stackoverflow.com/questions/27672598/windows-phone-8-1-httpclient-and-session-cookies –