Jaydeep Shah Ответов: 1

Сеанс очищается некоторое время или не устанавливается


я сохранил сеанс в событии dropdownchange(DropDownList1_SelectedIndexChanged) в asp.net.

и время отправки я использую этот сеанс, но во время отправки он выбрасывает экземпляр ошибки не установлен .

я проверяю много раз, что это работает в основном идеально . например, если я запускаю проект и из 10 раз это работает 9 раз идеально и 1 раз это экземпляр не установлен.

могу ли я использовать скрытую переменную вместо сеанса? а что такое скрытая переменная жизнь ?

Что я уже пробовал:

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
 var announcementData = JsonConvert.DeserializeObject<AnnouncementDataList>(json.ToString());
                Session["announcementData"] = null;
                Session["announcementData"] = announcementData;
        }


//on sendnow i requried session but clear some time or not set 

  protected void SendNow_Click(object sender, EventArgs e)
        {
 var selectedNews = apiresult.Items[apiresult.SelectedIndex].Text;
                    NewsDataList newsData = new NewsDataList();
                    if ((NewsDataList)Session["newsApiResponse"] != null)
                    {
                        newsData = (NewsDataList)Session["newsApiResponse"];
                        noti.newsdata = newsData.data.Where(x => x.Headline == selectedNews).FirstOrDefault();
                    }
}

Karthik_Mahalingam

в submit вы используете другой ключ для сеанса.

1 Ответов

Рейтинг:
0

OriginalGriff

Хм. Посмотрите на свой код:

Session["announcementData"] = announcementData;

if ((NewsDataList)Session["newsApiResponse"] != null)
{
    newsData = (NewsDataList)Session["newsApiResponse"];
Если вы используете разные ключи, вы получаете разные данные...

Попробуй:
if ((NewsDataList)Session["announcementData"] != null)
{
    newsData = (NewsDataList)Session["announcementData"];