現在、サーバー側でのパスワード例外処理の変更に取り組んでいます。そのため、パスワードの変更によってサーバー側で例外がスローされた場合 (つまり、新しいパスワードがセキュリティ要件を満たしていない場合)、次のようにエラーが処理されます。
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 - 内部サーバー エラー」が発生します。
Web.config ファイルが両方のワークステーションで同一であることはほぼ 99% 確信しています。
IIS の設定に問題がある可能性はありますか?
よろしく、ループスター