Я думаю, что лучший способ справиться с этим - использовать существующие коды ответа HTTP-протокола, в частности 401 Unauthorized
.
Вот как я его решил:
$('body').bind('ajaxSuccess',function(event,request,settings){
if (401 == request.status){
window.location = '/users/login';
}
}).bind('ajaxError',function(event,request,settings){
if (401 == request.status){
window.location = '/users/login';
}
});
IMO это более общий и вы не пишете новые пользовательские спецификации / заголовок. Вам также не нужно изменять какие-либо из ваших существующих вызовов ajax.
Изменить: в комментарии @ Rob ниже, 401 (код состояния HTTP для ошибок аутентификации) должен быть индикатором. См. 403 Запрещенные vs 401 Неавторизованные HTTP-ответы для более подробной информации. При этом некоторые веб-фреймворки используют 403 для ошибок аутентификации и авторизации, поэтому соответствующим образом адаптируйте их. Спасибо, Роб.
Полный исходный код для прямой замены серверов разработки VS2008 / 2010 доступен по адресу http://cassinidev.codeplex.com . Вы можете скомпилировать до x64 для поддержки ваших требований.
Похоже, этот парень применил аналогичный подход к использованию Reflector и повторной компиляции как 64-битной версии: http: // codeka .com / blogs / index.php / 2007/06/18 / 64_bit_webdev_webserver_exe
Я не нашел ничего, что предполагало бы, что в VS2010 история будет другой, но скрестим пальцы.
32-разрядная среда IDE и связанные с ней вещи упрощают разработку.
Когда вы начинаете тестирование и дальнейшее развертывание, например, x64, IIS - лучший выбор.
Существует сторонний продукт UltiDev Cassini, который рекламирует 64-битную версию. Это бесплатно и распространяется; это может решить ваши потребности.
Информация здесь: http://ultidev.com/Products/Cassini/CassiniDevGuide.htm