Состояние просмотра периодически повреждается

#vb.net #viewstate #remote-desktop

#vb.net #состояние просмотра #удаленный рабочий стол

Вопрос:

У меня был пользователь моего VB.net веб-приложение жалуется, что он продолжает получать прерывистое сообщение об ошибке, в результате чего он вылетает из системы.

Трассировка стека:

 [FormatException: Invalid character in a Base-64 string.]
System.Convert.FromBase64String(Strings)  0
System.web. UI. LosFormatter.Deserialize(String input)  25
System.web. UI. Page. LoadPageStateFromPersistenceMedium()  101
[HttpException (0x80004005) : Invalid_Viewstate
Client IP: 127.0.0. 1
Port: 3491
User-Agent: Mozilla/4.0 (compatible: MSIE 7.0; windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET
ViewState: dDwxMZUZMDI3MTC203Q802w8aTwxPjS 02w8dDw7bDxpPDU 02  kBNj47aTw4PjtpPDEDPjtpPDE4PjtpPDIwPjtpPDIXPjtpPDM  OPjtpPDM1PjtpPDM2PjtpI
Http-Referer: http ://localhost/<appname>/webForms/frmSystem.aspx?User=2amp;systemNo=22011Uamp;Zoom=1amp;Strips=6
Path: /<appname>/webForms/frmSystem.aspx.]
System.web. UI. Page. LoadPageStateFromPersistenceMedium()  442
System.web. UI. Page. LoadPageViewState()  18
System.web. UI. Page. ProcessRequestMain()  447
  

Из сообщения об ошибке следует, что viewstate продолжает повреждаться (см. Дамп экрана ниже), но я не понимаю, почему. Он утверждает, что это происходит каждые 2-3 минуты, но я часто пользовался системой и никогда с этим не сталкивался.

Я должен также упомянуть, что он использует веб-приложение очень «нестандартным» способом. Для достижения оптимальной скорости он фактически использует удаленный рабочий стол для прямого подключения к нашему серверу и запускает его как localhost. («Безумие!» — да, я знаю. Решение принимал не я.) Конечно, это может быть неуместно.

Некоторые советы о том, что может привести к повреждению viewstate, были бы чрезвычайно полезны.

Экран-дамп ошибки

Комментарии:

1. Вносите ли вы какие-либо изменения в viewstate в коде? Я видел, как это происходило раньше в такой ситуации.

2. Сбалансирована ли загрузка веб-приложения?

3. @mwgriffith: Нет, это не так. В любом случае, не специально.

4. @Joe: Нет, это не так. Но это действительно малое использование — например, 2 или 3 человека одновременно.

5. Почему этот вопрос был удален? Мне это кажется довольно ясным и хорошо объясненным.

Ответ №1:

Он дважды щелкает. То же самое долгое время сводило меня с ума, потому что я знаю, сколько раз нажимать на что-либо, и сам никогда не видел ошибки.