500 ошибка; недостаточно конкретно

Я использую Microsoft Visual Web Express 2012 для Интернета и все время тестировал Firefox.

Когда я, наконец, заработал, я попробовал Chrome и IE, но в обоих браузерах он сообщает о внутренней ошибке сервера 500 в маленьком окне. HTML загружается нормально. Я считаю, что это связано с тем, что мой веб-сайт загружает информацию о базе данных в виджет вкладки. Перепроверил Firefox; кажется в порядке. Перепроверил Chrome и IE; такая же ошибка.

Вероятно, это уже очевидно, но я закомментировал код ajax, а IE и Chrome не сообщают о проблеме 500.

Я не знаю, как найти более подробную информацию об этой общей ошибке. я пытался

  <system.webServer>
    <httpErrors errorMode="Detailed" />
    <asp scriptErrorSentToBrowser="true"/>
</system.webServer>
<system.web>
  <compilation debug="true" targetFramework="4.5" />
  <httpRuntime targetFramework="4.5" />
</system.web>

в моем web.config, но это окно не показывает ничего, кроме 500. Я также попытался снять флажок «Показать дружественные сообщения об ошибках HTTP» и «Отключить отладку сценариев (IE) и (Другое)». Я не уверен, что должно произойти, но сообщение 500 не меняется.

Я заметил, что Firefox действительно показывает странную задержку при загрузке из базы данных, но все данные после загрузки в порядке.

Это код, о котором идет речь.

using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data.SqlClient;
using System.Text;
using System.Web.Script.Services;

/// <summary>
/// Summary description for serverAttempt2
/// </summary>
[WebService(Namespace = "http://idontcare.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
[ScriptService]

public class serverAttempt2 : WebService
{
  [WebMethod]
  public string GetCustomer(string CustomerID)
  {
    string response = "<p>No customer selected</p>";
    string connect = @"Data Source=localhost\SQLEXPRESS;Initial Catalog=personnet;Integrated Security=Yes;";
    string query = "SELECT TOP 200 * FROM personnet.dbo.accordionTest";
    if (CustomerID != null && CustomerID.Length == 8)
    {
      StringBuilder sb = new StringBuilder();
      using (SqlConnection conn = new SqlConnection(connect))
      {
        using (SqlCommand cmd = new SqlCommand(query, conn))
        {
          cmd.Parameters.AddWithValue("CustomerID", CustomerID);
          conn.Open();
          SqlDataReader rdr = cmd.ExecuteReader();
          if (rdr.HasRows)
          {
            while (rdr.Read())
            {
                sb.Append("Hi.");
                response = sb.ToString();
                /*
                sb.Append("<table style='width:100%;'><tr><td style='width:180px;'>");
                sb.Append(rdr["pro"].ToString() + "</td><td style='width:20%;'>");
                sb.Append(rdr["sn"].ToString() + "</td><td style='width:10%;'>");
                sb.Append(rdr["po"].ToString() + "</td><td style='width:20%;' align='center'>");
                sb.Append(rdr["qty"].ToString() + "</td><td style='width:10%;' align='center'>");
                sb.Append(rdr["status"].ToString() + "</td><td style='width:20%;' align='center'>");
                sb.Append("<input type='image' src='images/temporaryStar.png' /></td></tr></table><div><p></p></div>");
                response = sb.ToString();*/
            }
          }
        }
      }
    }
    return response;
  }
}

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

РЕДАКТИРОВАТЬ: Ну, я нашел кое-что, но я не уверен, что с этим делать.

'iexplore.exe' (Script): Loaded 'Script Code (Windows Internet Explorer)'. 
Exception was thrown at line 4, column 13743 in http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 4, column 13957 in http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 4, column 10598 in http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 4, column 10598 in http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 4, column 10598 in http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 4, column 10598 in http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 4, column 10598 in http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 4, column 10598 in http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 4, column 10598 in http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 4, column 10598 in http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 4, column 10598 in http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 4, column 10598 in http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js
0x800a139e - JavaScript runtime error: SyntaxError
Exception was thrown at line 4, column 4377 in http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js
0x800a03f6 - JavaScript runtime error: Invalid character

person Emwat    schedule 03.10.2013    source источник
comment
Попробуйте запустить Fiddler при использовании IE, чтобы увидеть, где именно он терпит неудачу.   -  person mattytommo    schedule 03.10.2013
comment
Внутренняя ошибка сервера 500 часто означает, что в коде на стороне сервера возникает исключение. Я не могу не заметить, что вы не перехватываете и не регистрируете исключения в своем коде. Может быть, есть информационная ошибка, которую вы игнорируете?   -  person David    schedule 03.10.2013
comment
Вы пытались подключиться к процессу ASP.NET? Вы можете прикрепить отладчик к w3wp.exe (Отладка › Присоединить к процессу...) и включить перехват выброшенных исключений.   -  person Chris Mantle    schedule 03.10.2013
comment
Поместите try catch в код и отладьте. Напишите исключение и обновите свой пост.   -  person guiomie    schedule 03.10.2013
comment
Если вы выполняете отладку с помощью Visual Studio, нажмите ctrl + alt + e, чтобы открыть файл Exceptions dialogue. Затем проверьте thrown под Common Language Runtime Exceptions. Это остановит большинство скрытых ошибок.   -  person gunr2171    schedule 03.10.2013


Ответы (1)


Вы должны добавить следующее в свой web.config внутри <system.web>-узла:

<customErrors mode="On|Off|RemoteOnly">

Чтобы отобразить подробную информацию об ошибке, установите значение mode на Off.

person Kenneth    schedule 03.10.2013
comment
Кажется, я пробовал это раньше. Не вижу разницы, пробую еще раз. - person Emwat; 03.10.2013
comment
По сути, то, что вы меняете в своем браузере, не имеет значения, это сервер, который просто отправляет вам 500 с неописательным HTML. Если вам нужна полная трассировка стека, вы можете сделать это, изменив пользовательские ошибки, как в моем ответе. Если у вас есть это, но вы все еще не знаете, в чем причина, вы должны поставить точку останова в коде и пройтись по нему, чтобы увидеть, где что-то идет не так. - person Kenneth; 03.10.2013