C# 错误500-Ajax响应(没有关于客户端的详细信息,但适用于本地主机)

C# 错误500-Ajax响应(没有关于客户端的详细信息,但适用于本地主机),c#,ajax,response,internal-server-error,C#,Ajax,Response,Internal Server Error,我目前正在服务器端处理密码更改异常。因此,如果更改密码在服务器端引发异常(即新密码不满足安全要求),则会出现如下处理的错误: catch (Exception ex) { context.Response.Write(ex.Message); context.Response.StatusCode = 500; context.Response.End(); HttpContext.C

我目前正在服务器端处理密码更改异常。因此,如果更改密码在服务器端引发异常(即新密码不满足安全要求),则会出现如下处理的错误:

catch (Exception ex)
        {
            context.Response.Write(ex.Message);
            context.Response.StatusCode = 500;
            context.Response.End();
            HttpContext.Current.ApplicationInstance.CompleteRequest();
        }
然后,在AJAX处理程序中以javascript读取失败:

failure: function(response, options) {
    loadMask.hide();
    if (response.status != -1) {
        if (response.responseText.indexOf("title") == -1) {
           Ext.MessageBox.alert('Error', response.responseText);
        }
        else {
           var idx1 = response.responseText.indexOf("title") + 6;
           var idx2 = response.responseText.indexOf("/title") - 1; 
           if (idx1 > 0) {
               Ext.MessageBox.alert('Error', response.responseText.substring(idx1, idx2));
           }
           else {
                Ext.MessageBox.alert('Error', 'No change of password');
           }
         }
     }
问题是:

  • 本地一切正常,详细异常被正确写入并保存在响应中(因此,responseText显示正确的ex.Message)
  • 但是,在客户端计算机上导入应用程序时,始终会出现“500-内部服务器错误”
我几乎99%确信这两个工作站上的Web.config文件是相同的

问题是否在IIS设置范围内

致以最良好的祝愿,
loopdster

您可以检查客户端请求并查看传递给IIS的内容。还有很多人打开请求跟踪,看看服务器上发生了什么。在本地工作时,您使用的是visual studio Web服务器(Cassini)还是本地IIS/IISExpress?好的,我终于解决了这个问题。该应用程序由三台不同的机器组成,相互连接,而每台机器负责不同的任务——总而言之,我必须在所有三台机器上设置正确的错误显示(to:detailed),以使其正常工作。