& ldquo; Заполнение недействительно и не может быть удалено & rdquo; исключение на WebResource.axd

Анонимный внутренний класс используется для создания объекта, который никогда не будет ссылаться снова. Он не имеет имени и объявляется и создается в том же самом заявлении. Это используется там, где вы обычно используете переменную объекта. Вы заменяете переменную ключевым словом new, вызовом конструктора и определением класса внутри { и }.

При написании Threaded Program в Java это обычно выглядит так:

ThreadClass task = new ThreadClass();
Thread runner = new Thread(task);
runner.start();

Используемый здесь ThreadClass будет определяться пользователем. Этот класс будет реализовывать интерфейс Runnable, необходимый для создания потоков. В ThreadClass также необходимо реализовать метод run() (только метод из Runnable). Понятно, что избавление от ThreadClass было бы более эффективным, и именно поэтому существуют Анонимные Внутренние Классы.

Посмотрите на следующий код

Thread runner = new Thread(new Runnable() {
    public void run() {
        //Thread does it's work here
    }
});
runner.start();

Этот код заменяет ссылку сделанный в task в самом верхнем примере. Вместо того, чтобы иметь отдельный класс, Анонимный Внутренний Класс внутри конструктора Thread() возвращает неназванный объект, который реализует интерфейс Runnable и переопределяет метод run(). Метод run() будет включать в себя заявления внутри, которые выполняют работу, требуемую потоком.

Отвечая на вопрос о том, является ли анонимные внутренние классы одним из преимуществ Java, я должен сказать, что я не совсем уверен, поскольку я не знаком со многими языками программирования на данный момент. Но я могу сказать, что это, безусловно, более быстрый и простой способ кодирования.

Ссылки: Sams Teach Yourself Java в 21 день Седьмое издание

30
задан Ben Scheirman 21 November 2008 в 19:18
поделиться

3 ответа

Ошибка состоит в том, потому что Ваш appdomain был переработан/перезапущен. Когда это происходит, приложение и ключ машины установлены на автоматический, это изменяется. Это влияет на дешифрование информации в URL URL ресурсов (.axd). Установка фиксированного ключа машины предотвратит его от когда-либо случая снова.

проверьте это на большее количество информации о подобном случае (объяснение с проблемой с проверкой состояния отображения, но причина - тот же): http://www.developmentnow.com/blog/InvalidViewstate+Or+Unable+To+Validate+Data+Error.aspx

я также задавался вопросом об этом долгое время. После того, как я видел этот вопрос, это получило меня на нем снова: это попытка повредить мой ASP.NET site' s безопасность? ..., которым я просто ответил почти так же. У меня было чувство, что это было вокруг некоторого перезапуска чего-то, потому что, когда мы опубликовали что-то, что переработало приложение, которое ошибка показала в журнале, но у меня не было никакого другого источника, заявляя его отношение (сегодня я нашел, что случай на invalidviewstate из-за machinekey изменяется:))

ps выше наконец объясняет это на единственном сервере:)

24
ответ дан Community 21 November 2008 в 19:18
поделиться
  • 1
    Это doesn' t обрабатывают относительные пути с продвижением /. Пример: relPathToAbs("/?foo=bar") должен возвратить "/? foo=bar" вместо этого это возвращается /questions/14780350/?foo=bar, что означает it' s не правильно обнаружение продвижения /, когда передает путь обратно корню. – Nucleon 9 November 2014 в 08:35

Ben,

Для Вашей первой проблемы, я нашел это, которое, кажется, немного больше на грани того, что Вы видите, в котором эпизодически происходит проблема. Необходимо быть в состоянии найти полное объяснение этого в http://www.codeproject.com/KB/security/Cryptor.aspx#aes .

то, Что действительно необходимо сделать, является набором RijndaelAlg. Дополнение к PaddingMode. ISO10126, PaddingMode. PKCS7 или PaddingMode. ANSIX923. Любое из этих 3 значений должно работать, при условии, что Вы используете то же значение при шифровании и дешифровании. Другие значения будут работать с некоторыми данными, но не со всеми данными. Вышеупомянутый URL объясняет почему.

то, Что я не понимаю, является причиной, Microsoft предоставляет возможности, которые иногда не работают, или по крайней мере почему они не принимают значение по умолчанию к надежной опции.

0
ответ дан JohnL 21 November 2008 в 19:18
поделиться
  • 1
    Любите это решение, однако didn' t работа с Реагируют Собственный компонент, должный недоставать или поддержка URL. Вместо этого я использовал https://www.npmjs.com/package/url, который работал хорошо. – jsaven 12 August 2018 в 00:05

Эта проблема появляется, когда сообщение сгенерировано, прежде чем страница полностью загружается в браузере. Взгляните на этот вопрос.

1
ответ дан Community 21 November 2008 в 19:18
поделиться
  • 1
    Предупреждение: если Вы будете в браузере, это не рассмотрит < base> тег HTML! Создание < a> элемент будет. – hex 13 June 2019 в 16:22
Другие вопросы по тегам:

Похожие вопросы: