我目前正在更改服务器端的密码异常处理。因此,如果更改密码在服务器端引发异常(即新密码不满足安全要求),则会出现如下错误处理:
catch (Exception ex)
{
context.Response.Write(ex.Message);
context.Response.StatusCode = 500;
context.Response.End();
HttpContext.Current.ApplicationInstance.CompleteRequest();
}
然后,在 javascript 中的 AJAX 处理程序中读取失败:
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