Ich versuche, über Ajax eine WebMethod aufgerufen in einer traditionellen ASP.Net WebForm Code-Behind-Seite gehostet. Hier ist der Code für das WebMethod:JSON WebMethod funktioniert nicht in Sitefinity
[WebMethod]
public static object States()
{
StateProvince[] states = new StateProvince[] { };
ApplicationServiceClient proxy = null;
try
{
proxy = new ApplicationServiceClient();
states = proxy.GetStateProvinces();
}
finally
{
CloseServiceProxy(proxy);
}
return states;
}
Die WebMethod funktioniert gut in meiner Stand-alone-Entwicklungsumgebung oder wenn normalerweise IIS eingesetzt, aber wenn ich die aspx Seite Sitefinity bereitstellen, erhalte ich die folgende Ausnahme, wenn Es heißt:
Serverfehler in '/' Anwendung.
Unbekannte Webmethode States.aspx.
Parametername: Methoden
Ich bin mir nicht sicher, ob Sitefinity die URL und nach bis zum „aspx“ ist Hijacking oder, was hier vor sich geht. Hier
ist der Jquery-Aufruf, der die Web-Methode ruft:
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "Regions.aspx/States",
data: "{}",
success: function(data) {
// implementation omitted
},
error: function(xhr, msg) {
alert(xhr.responseText);
}
});
Ich kann das Problem replizieren, indem die Anforderung manuell mit Fiddler veröffentlichen.
Auch dies funktioniert überall gut, außer wenn es auf Sitefinity angewendet wird. Hat jemand irgendwelche Gedanken?