powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Сохранение сессии в вебе
2 сообщений из 2, страница 1 из 1
Сохранение сессии в вебе
    #38327641
stenford
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеется вебсервис, который посчитает количество вызовов метода:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
[WebMethod(EnableSession = true)]
        public int NumberOfClicks()
        {
            if (HttpContext.Current.Session["Id"] != null)
                HttpContext.Current.Session["Id"] = (int)HttpContext.Current.Session["Id"] + 1;
            else
                HttpContext.Current.Session["Id"] = 1;

            return (int)HttpContext.Current.Session["Id"];
        }



Виндовый клиент работает как надо (в текстбоксе показывает количество нажатий на кнопку, которая дергает сервис):

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
public Form1()
        {
            InitializeComponent();

            _ser = new WindowsFormCountClicks.CountClicksWebReference.Service1();
            _ser.CookieContainer = new System.Net.CookieContainer();
        }


        CountClicksWebReference.Service1 _ser;

        private void button1_Click(object sender, EventArgs e)
        {            
            textBox1.Text = _ser.NumberOfClicks().ToString();
        }



теперь хочу сделать то-же самое для веб клиента:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
 protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            _ser = new CountsClickWebReference.Service1();
            _ser.CookieContainer = new System.Net.CookieContainer();
            _cookies = new System.Net.CookieContainer();
            _ser.CookieContainer = _cookies;
            
            ViewState["ser"] = _ser;
        }
    }

    System.Net.CookieContainer _cookies;
    CountsClickWebReference.Service1 _ser;

protected void ASPxButton1_Click(object sender, EventArgs e)
    {       
        int res = ((CountsClickWebReference.Service1)ViewState["ser"]).NumberOfClicks();   
        ASPxTextBox1.Text = res.ToString();
    }



выдает ошибку сериализации. Как правильно делать?
...
Рейтинг: 0 / 0
Сохранение сессии в вебе
    #38329264
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
stenford,
Используй session вместо viewstate.
CountsClickWebReference.Service1 - явно не сериализуемая весчь!
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Сохранение сессии в вебе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]