Недопустимая длина для массива Base-64 char - PullRequest
1 голос
/ 14 мая 2010

Я получаю следующую ошибку на моей веб-странице ASP.net:

Недопустимая длина для массива символов Base-64.

Это происходит, когда пользователь активирует ajax-запрос до завершения предыдущего запроса. Как я могу предотвратить возникновение этой ошибки?

edit: вот трассировка стека. Поскольку ошибка не возникает в моем собственном коде, я не уверен, что делать.

в System.Convert.FromBase64String (String s) в System.Web.UI.ObjectStateFormatter.Deserialize (String inputString) в System.Web.UI.Util.DeserializeWithAssert (форматер IStateFormatter, строка serializedState) в System.Web.UI.HiddenFieldPageStatePersister.Load ()

Ответы [ 2 ]

0 голосов
/ 14 мая 2010

Вы можете попытаться предотвратить последующие запросы во время запроса ajax:

function OnRequestStart(sender, args) {
                if (args.EventTargetElement) {
                    var control = document.getElementById("<%= SomeButton.ClientID %>");
                    if (control != null) {
                        if (args.EventTargetElement.id == control .id) {
                            control .disabled = true;
                        }
                    }
                }
            }
            function OnResponseEnd(sender, args) {
                if (args.EventTargetElement) {
                    var control = document.getElementById("<%= SomeButton.ClientID %>");
                    if (control != null) {
                        if (args.EventTargetElement.id == control .id) {
                            control .disabled = false;
                        }
                    }
                }
            }
0 голосов
/ 14 мая 2010

Строки Base64 имеют длину, кратную трем. Хотя я не могу сказать, откуда взялась недопустимая строка Base64, кажется очевидным, что некоторый код пытается декодировать строку, которая является либо поврежденной строкой Base64, либо вовсе не строкой Base64.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...