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