Я делаю что-то глупое, наверное. Клянусь, я делал это раньше без проблем, но сейчас я не могу заставить его работать. У меня есть обработчик HTTP, написанный на ASP.NET, который я хочу вызывать через AJAX (используя jQuery). В моем web.config я регистрирую обработчик вот так...
<httpHandlers>
<add verb="GET" path="~/getPage.axd" type="Handlers.GetPage"/>
</httpHandlers>
Обработчик просто настроен для тестирования прямо сейчас...
Namespace Handlers
Public Class GetPage
Implements IHttpHandler
Public Sub ProcessRequest(ByVal context As System.Web.HttpContext) Implements System.Web.IHttpHandler.ProcessRequest
With context.Response
.Clear()
.Write("ID: " & context.Request.QueryString("id"))
.End()
End With
End Sub
Public ReadOnly Property IsReusable() As Boolean Implements System.Web.IHttpHandler.IsReusable
Get
Return False
End Get
End Property
End Class
End Namespace
И у меня есть следующий jQuery для его вызова...
$.get('http://localhost:81/getPage.axd?id=0', function(data) {
alert(data);
});
Я знаю, что URL-адрес, используемый для запроса, правильный. IIS настроен на маршрутизацию пути axd к фильтру ISAPI ASP.NET. Я убедился, что мой обработчик не вызывается (я изменил обработчик, чтобы распечатать сообщение журнала, и ничего не было напечатано. Средство просмотра событий ничего не показывает).
Любые идеи?
EDIT: когда я пытаюсь перейти непосредственно к обработчику в браузере, я получаю сообщение об ошибке 404.