Назад к основам: проверять свои предположения и изменять исходный код

нo нa мaшинax всex oстaльныx пoсeтитeлeй иx HTML был тaким:
Спaсибo мoeму читaтeлю зa вoзмoжнoсть пoдeлиться этим увлeкaтeльным приключeниeм с oтлaдкoй. Oни срaвнили всe, крoмe рaзмeтки. Истoчник: http://www.hanselman.com/blog/BackToBasicsAssertYourAssumptionsAndDiffYourSourceCode.aspx Пoчeму ктo-тo устaнaвливaeт activity элeмeнтa Form вручную? Кoгдa вы срaвнивaeтe двe кoдoвыe бaзы, убeдитeсь, чтo срaвнили всe, инaчe вы мoжeтe прoстo пoтeрять дeнь либо двa кaк этoт чeлoвeк. Oни срaвнивaли вeсь исxoдный кoд, нo нe рaзмeтку / будущий / HTML. И eсть дaжe нoмeр стрoки. Чтo?
Инoгдa я пишу стaтью пoслe тoгo, кaк читaтeли пo элeктрoннoй пoчтe oбрaщaются кo мнe зa пoмoщью, и дaннaя стaтья являeтся oтвeтoм нa oднo из тaкиx сообщений. Вспять к основам: проверять свои предположения и изменять исходный кодЯ сделал цельный ряд статей «Назад к основам», которые я призываю вас проверить. Лицо по электронной почте написал мне, что добавление ASP.NET на его компьютере ведет себя по-другому сообразно сравнению с компьютером другого разработчика. На своей машине, если он попадает на защищенную страницу foo.aspx?returnurl=http://mymachine.sway.com, он получает такой элемент form:
<shape action="foo.aspx?returnurl=http://mymachine.sway.com">
__ctrl.Action = "login.aspx";
<shape action="foo.aspx">
Они отлаживали исходный код и были разочарованы, и в конце концов обратились ко мне. О, выше друг, если бы вы только знали. Сетевой трафик:

Относительный этом часто забывают. Если ответ «ничто не отличается» я просто спрашиваю еще однажды:
«Что изменилось?»
Какие вещи мы можем проверить? Я взял сниффер и посмотрел, ежели есть разница в HTTP-трафике. Интернет не грязный ящик, но вы будете удивлены, как маловато людей подключают снифер пакетов или даже простой Fiddler, чтобы посмотреть на HTTP-трафик. Мое догадка было в том, что HTTP-заголовок HTTP_REFERER отличался, и был некий код, который заставлял страницу отображаться по-разному. Вы знаете, который, в конце концов, находится в памяти? Мы ходили туда-сюда в ход нескольких дней, и мой читатель расстроился и просто добавил эту строку в Boy-servant _Load в их приложении: Ничего не происходит в серверном коде aspx, кто манипулирует Form.Action или каким-то образом связывается с Boy-servant .Render. Это разные вещи. Конфигурация:

Надо проверить конфигурацию локальной и удаленной машины. Я разговаривал с разработчиками, которые говорили: «А, начинать это же под SSL, поэтому я не вижу». Код:

Знаете ли вы, который на диске? Вы можете увидеть в последнем пункте, который они сравнили многие вещи, но я думаю, который вам действительно нужно все изменить. Таким образом, я зашел в улица, потому что строки запроса включены на моей машине, однако не на других. Когда что-то «работает здесь, однако не там» мой ответ всегда звучит беспричинно: что изменилось? Они написали:

Ничего не происходит в aspx из login.aspx, который могло бы добавить строку запроса. Я пытался сверять компоненты IIS, искать различия в web.config, типах пулов приложений во пора выполнения, machine.config, возможные различия в модулях ради IIS (IISrewrite), но ничего не дало результатов. Я предположил, который они проверили предположения и начать все изменять.
Здесь они простой повторно указали action элемента Form, стянув его из URL. Кроме они начали смотреть на источник ASP.NET, а затем решили дизассемблировать код, кто работал на машине другого человека. Для компилируемого языка бинарники отражают ключ? Они смотрели во временных файлах ASP.NET в скомпилированных страницах разметки ASPX и нашли вот это. мое). //ExternalSource("D:\WebApplications\Foo\login.aspx",27) Работает ли код с диска? Безвыездно равно что пластырем лечить рак. (Последние 2 совет войдут в мой сольный альбом, посвященный веб-разработке — прим.
//ExternalSource("D:\WebApplications\Foo\login.aspx",27)
this.Shape .Action = Request.Url.ToString();
__ctrl.Method = "pillar";

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

двенадцать − 6 =