asmx-Webdienst, der anstelle von json in .NET 4.0 zurückgibt

8

Ich habe gerade eine Testversion meiner Site auf asp.net 4.0 aktualisiert und habe ein seltsames Problem bemerkt, das nur auftritt, wenn ich die Site auf meinen Server hochlade.

Die Website hat einen asmx-Webservice, der json zurückgibt, aber wenn ich die Site auf meinem Server starte, gibt sie xml zurück. es funktioniert seit über einem Jahr gut in asp.net 3.5.

Der webMethod ist mit den richtigen Attributen versehen ...

%Vor%

und auf meinem lokalen Rechner gibt es json zurück.

noch auf dem Server (Windows 2008 64bit) gibt es xml zurück.

Wenn Sie die Firebug-Konsole verwenden, sehen Sie eine 200 OK-Antwort und eine Menge XML, und auf meinem lokalen Rechner sind die zurückgegebenen Daten die JSON, die ich erwarte.

Hier ist das Javascript, das den Dienst aufruft ..

%Vor%

}

Irgendwelche Vorschläge willkommen, das hat mich ratlos gemacht!

    
Baldy 01.05.2010, 12:45
quelle

2 Antworten

7

Sind Sie sicher, dass .NET 4 auf Ihrem Server installiert ist?

Die ScriptHandlerFactory-Zeichenfolge "type" in .NET 4 lautet:

%Vor%

ASP.NET 4 enthält jetzt das in seiner Standard-web.config auf der Maschinenebene. Sie sollten also keine Zuordnung zur ScriptHandlerFactory in der web.config, 3.5 oder 4 Ihres Projekts benötigen.

    
Dave Ward 05.05.2010, 15:32
quelle
2

Nun, ich habe es geschafft, es aufzuspüren, indem ich etwas über ajax-Web-Services-Anfragen gelesen habe, die hier behandelt werden ...

Ссылка

Im Grunde muss ein Handler von asp.net 3.5 in Ihrem web.config-Handler-Abschnitt unter system.webserver deklariert werden, damit er eine JSON-Antwort anstelle der Standardantwort zurückgeben kann.

Hier müssen Sie den Handler-Abschnitt zum web.config hinzufügen (auch zu Ссылка Abschnitt, wenn Sie IIS6 unterstützen müssen ...) / p> %Vor%

Ich habe meinen Verdacht, dass dies mit einer .net 4.0-Version des gleichen Handlers ersetzt werden muss, aber für den Moment funktioniert es.

    
Baldy 01.05.2010 14:10
quelle