Exceção de método da Web desconhecida ao chamar WebMethod compartilhado
Estou tentando implementar um serviço da web de rastreamento de exibição no meu site. Estou usando JavaScript porque quero excluir todos os robôs de pesquisa das minhas visualizações rastreadas. O problema é que estou recebendo um erro "Método da web desconhecido" quando tento usar o jQuery para postar no serviço da web que criei.
$(document).ready(function() {
$.ajax({
type: "POST",
url: '<%=ResolveUrl("~/WS/ItemViewTrackingService.asmx/TrackItemView") %>',
data: "{'itemType': 'thread', 'itemId':<%=mThread.ThreadID %>}",
contentType: "application/json; charset=utf-8"
});
});
Aqui está o serviço da 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
O erro é um erro do ASP .NET: Método da web desconhecido TrackItemView. Nome do parâmetro: methodName
Eu já fiz isso centenas de vezes (aparentemente), mas simplesmente não consigo ver o que estou perdendo. Tenho certeza que é algo pequeno ...