Excepción de método web desconocido al llamar a método web compartido
Estoy tratando de implementar un servicio web de seguimiento de vistas en mi sitio web. Estoy usando JavaScript porque quiero excluir cualquier bot de búsqueda de mis vistas rastreadas. El problema es que recibo un error de "Método web desconocido" cuando intento usar jQuery para publicar en el servicio web que he creado.
$(document).ready(function() {
$.ajax({
type: "POST",
url: '<%=ResolveUrl("~/WS/ItemViewTrackingService.asmx/TrackItemView") %>',
data: "{'itemType': 'thread', 'itemId':<%=mThread.ThreadID %>}",
contentType: "application/json; charset=utf-8"
});
});
Aquí está el servicio web.
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.ComponentModel
<System.Web.Script.Services.ScriptService()> _
<System.Web.Services.WebService(Namespace:="http://tempuri.org/")> _
<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<ToolboxItem(False)> _
Public Class ItemViewTrackingService
Inherits System.Web.Services.WebService
<WebMethod(EnableSession:=True)> _
Public Shared Sub TrackItemView(ByVal itemType As String, ByVal itemId As Int32)
If itemType.Equals("column", StringComparison.OrdinalIgnoreCase) Then
Services.ViewTrackingService.TrackColumnView(itemId)
ElseIf itemType.Equals("thread", StringComparison.OrdinalIgnoreCase) Then
Services.ViewTrackingService.TrackThreadView(itemId)
End If
End Sub
End Class
El error es un error de ASP .NET: método web desconocido TrackItemView. Nombre del parámetro: methodName
Lo he hecho cientos de veces (aparentemente), pero no puedo ver lo que me falta. Estoy seguro de que es algo pequeño ...