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 ...

Respuestas a la pregunta(1)

Su respuesta a la pregunta