Страница классического сайта ASP не отвечает, но работает, если страница запрашивается на сервере - PullRequest
1 голос
/ 13 марта 2012

У нас есть классический ASP-сайт, размещенный в IIS 7.5. Я смотрю на это странное поведение и пытаюсь найти решение для этого. Теперь проблема с одной из многих страниц (не всех страниц): http://website.com/admin/customers.asp

  • Если эта страница запрашивается из браузера на сервере, на котором размещено приложение, то все работает нормально.
  • Если страница запрашивается на сервере, т. Е. С некоторого компьютера, то страница никогда не отвечает. и странная часть здесь в том, что IIS также не получает никаких кодов состояния, когда просматривается через firebug ... Я вижу состояние "(прервано)".
  • Теперь более интересный момент: на запрошенной странице отображается 7 записей о клиентах, однако, если я настрою запрос sql, чтобы вернуть 5 или менее клиентов, то все будет нормально.

Я работал над этой проблемой с прошлого дня и до сих пор считал, что код здесь не является проблемой, поскольку он работает на сервере с теми же данными и базой данных. Кроме того, страница работает нормально, если возвращено 5 или менее записей ...

Буду очень признателен, если кто-нибудь сможет мне помочь с этой проблемой ...

Ответы [ 3 ]

1 голос
/ 27 марта 2012

Итак, как я уже упоминал, проблема была с сервером, с которым я тестировал, и оказалось, что нам пришлось отключить настройку TCP / IP без нагрузки (через интерфейс клиента Broadcom).Хотя все равно нужно выяснить, почему мы должны это делать ...

Большое спасибо за ваше время и предложения ...

0 голосов
/ 15 марта 2012

Как я предложил в комментарии, попробуйте отладить проблему, записав в текстовый файл и, надеюсь, найти место, где код застрял. Пример кода будет:

<%
Option Explicit

Dim objFSO, oLogFile, myCounter
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set oLogFile = objFSO.CreateTextFile(Server.MapPath("customer_log.txt"))
oLogFile.WriteLine "BEGIN - " & Now()

'here comes your own code
'.....
'for example loop over some recordset
oLogFile.WriteLine "LOOP START - " & Now()
myCounter = 0
Do Until oRS.EOF
    oLogFile.WriteLine "Loop iteration #" & (myCounter + 1) & " Started - " & Now()
    '.....
    '.....
    '.....
    oLogFile.WriteLine "Loop iteration #" & (myCounter + 1) & " Finished - " & Now()
    myCounter = myCounter + 1
    oRS.MoveNext
Loop
oLogFile.WriteLine "LOOP END - " & Now()
oRS.Close
oLogFile.WriteLine "Recordset was closed - " & Now()
'.....


'after your code is finished:
oLogFile.WriteLine "END - " & Now()
oLogFile.Close
Set oLogFile = Nothing
Set objFSO = Nothing
%>

Теперь после выполнения страницы в браузере найдите файл с именем customer_log.txt в том же каталоге, что и ваш ASP-файл, и проверьте его содержимое.

0 голосов
/ 15 марта 2012

На первый взгляд, я считаю, что у вас есть проблема между Интернетом и машиной, на которой размещен веб-сайт (проблемы с прокси, брандмауэры и т. Д.). Однако, поскольку вы заявили, что проблема решается, когда вы изменяете часть своего кода, чтобы показать 5 результатов вместо 7, я думаю, что вы перебираете набор записей, не указывая код для его пролонгации:

rs.MoveNext

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