MadsBorik Ответов: 1

Asp.net 2.0 динамический HTML-код, отображаемый по-разному на сервере 2012 (IIS)


У меня странная проблема.
Надеюсь, у кого-то есть простое и очень логичное объяснение этому 

Веб-система - это система регистрации курсов.

Ан ASP.NET сайт 2.0 был перемещен с сервера Windows 2003 server (IIS) на новый сервер Windows 2012 server (IIS).
После этой потации динамически сгенерированный HTML-файл отображается по-другому на новом сервере 2012 года. Флажок на сервере 2003 года становится текстовым полем на сервере 2012 года.

Что я уже пробовал:

Мы расследовали это дело. ASP.NET код на обоих серверах и это тождественно. Но динамически генерируемое всплывающее окно HTML немного отличается на сервере 2012 года. Ниже я вставил HTML-код для обеих версий. Это ИД “6154”, который установлен (правильно) типа “флажок” на Server 2003 и ошибочно набрать “текст” на сервер 2012.

Сервер Windows 2003:
====================
&ЛТ;ИД входного="CH6156" тип="флажок" название="CH6156" /&ГТ;&ЛТ;метка для="CH6156"&ГТ;


Сервер Windows 2012:
====================
Bekræft *<имя входного="DF6156" тип="текст" свойство maxlength="1" идентификатор="DF6156" класс="входного" стиль="ширина:100 пикселей;" /&ГТ;



Поскольку он динамически генерируется, я не могу изменить HTML-файл (всплывающее окно) Это всплывающее окно является новым для каждого курса, и человек должен подтвердить, что он прочитал “общие условия”, установив флажок в этом поле.


Мы провели много испытаний.
Если исходный код в HTML изменен таким образом, что он ссылается на старый сервер 2003 года, то повторный запуск Course9999.HTML визуализируется правильно.
Если исходный код в Course9999.HTML если он изменен таким образом, что относится к новому серверу 2012 года, то при повторном запуске файла теперь отображается текстовое поле.

Мы проверили, что веб-сайты как на сервере 2003, так и на сервере 2012 работают под управлением .NET Framework 2.0.50727.
РЕГЕСТРИРОВАНИЕ на обоих серверах было исследовано, и есть небольшая разница в том, как отображаются версии. В данный момент у меня нет доступа к серверам, поэтому я не могу проверить, так ли это просто, как отсутствующий NET Framework SP2 на новом сервере.

Я был вдохновлен, чтобы покопаться в этом вопросе в этой статье https://support.microsoft.com/en-us/kb/318785

1 Ответов

Рейтинг:
0

Patrice T

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

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

Отладчик позволяет вам следить за выполнением строка за строкой, проверять переменные, и вы увидите, что есть точка, в которой он перестает делать то, что вы ожидаете.
Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html[^]
https://www.jetbrains.com/idea/help/debugging-your-first-java-application.html[^]

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