ASP.net RequiredFieldValidator, не предотвращающий обратную передачу

Я уверен, что JVM может делать некоторые трюки за кулисами, но может ли кто-нибудь помочь мне понять, что на самом деле происходит там?

  1. Массивная латентность первый вызов вызван инициализацией полной лямбда-подсистемы времени выполнения. Вы платите это только один раз за все приложение.
  2. При первом обращении к любому выраженному лямбда-выражению вы платите за связь этой лямбда (инициализация invokedynamic
  3. После нескольких итераций вы увидите дополнительное ускорение из-за компилятора JIT, оптимизирующего ваш код восстановления.

В любом случае, чтобы избежать этого оптимизация, чтобы я мог проверить истинное время выполнения?

Вы просите о противоречии здесь: «истинное» время выполнения - это тот, который вы получаете после разминки , когда все оптимизации были применены. Это время выполнения, которое будет испытывать фактическое приложение. Задержка первых нескольких прогонов не имеет отношения к более широкой картине, если вы не заинтересованы в производительности с одним выстрелом.

. Для исследования вы можете видеть, как ваш код ведет себя с компиляцией JIT отключен: pass -Xint к команде java. Есть еще много флагов, которые отключают различные аспекты оптимизации.

25
задан Dana 17 March 2009 в 21:29
поделиться

4 ответа

Ух. Хорошо, я нашел проблему, в основном путем создания совершенно нового проекта и сравнения его web.config линию за линией с моим старым проектом. Оказывается, что преступник - это:

 <xhtmlConformance mode="Legacy"/>

, Если я удаляю строку, моя проверка прокладывает себе путь, я ожидал это к. Гугление, который раскрыл набор сообщений в блоге о том, как VisualStudio добавляет что строка к web.config при обновлении веб-приложений от .net 1.1 до .net 3.5.

сообщения в блоге главным образом жаловались на то, как то поле вмешивается в материал Ajax .NET, но я предполагаю, что это смешивает с JavaScript, испускаемым для RequiredFieldValidator подобным способом.

33
ответ дан Dana 28 November 2019 в 20:53
поделиться

Проверка может произойти на клиенте при наличии, или на сервере. Задание блока проверки допустимости не состоит в том, чтобы предотвратить обратную передачу, это должно проверить вход.

Удостоверяются, что Вам включили JavaScript и пробуете явно установку "EnableClientScript" к истинному.

В коде - позади, Вы никогда не должны полагать, что блоки проверки допустимости проверяют на клиенте и всегда используют "if Page.IsValid".

11
ответ дан womp 28 November 2019 в 20:53
поделиться

Если Вы нажимаете "Enter" в текстовом поле для представления формы, я не думаю, что блоки проверки допустимости предотвратят обратную передачу.

0
ответ дан David 28 November 2019 в 20:53
поделиться

Вы могли попробовать явное EnableClientScript="True" параметр к RequiredFieldValidator?

0
ответ дан Amol M Kulkarni 28 November 2019 в 20:53
поделиться
Другие вопросы по тегам:

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