Nun, ich bin Versuch es zu benutzen. Ich kann nicht sagen, dass ich erfolgreich war.
Ich habe nicht eine Menge von Web-Codierung in jeder Umgebung getan, aber hier ist meine 2 Cents.
Ich wollte einige Datenbanktabellen auf einer Webseite darstellen, also habe ich eine schnelle klassische ASP-Seite (ja, ja, ich weiß) erstellt, die die Daten von SQL Server abruft und die Tabelle als JSON-Objekt zurückgibt. Anstatt einen JSON-Serializer für VBScript zu suchen, habe ich einfach beide Seiten in J(ava)script geschrieben und json2.js auf den Server importiert, um die Serialisierung zu ermöglichen. Es funktionierte großartig; ehrlich gesagt dauerte es weniger als eine Stunde, um eine schöne JSON-Darstellung der Tabelle zurückzuspucken, wovon 50 Minuten ein vergeblicher Versuch waren, JScript dazu zu bringen, die Tabelle zu importieren. json2.min.js
direkt, anstatt die <% %>
Umhüllungen und Umbenennung der Datei json2.min.asp
.
Aber jeder sagt, dass es krank und falsch ist, in der heutigen Zeit klassisches ASP zu verwenden, also versuche ich, meine schnelle und schmutzige ASP + Jscript + ADO-Implementierung durch ASP.NET + Jscript.NET + ADO.NET zu ersetzen. Nach einigen Momenten, in denen ich mir den Kopf über die Tastatur zerbrochen habe, habe ich ASP.NET v4.0.30319 auf IIS6 installiert und habe eine "Hallo, Welt"-Seite, die einige einfache Javascript-Schleifen über die <@ language = "JScript">
Richtlinie. So weit, so gut.
Ich waren nach Best Practices hier würde ich alles in einer Klasse usw. wickeln, aber wie ich bin nur versuchen, aus der Einfahrt zu bekommen, versuchte ich tun eine schnelle Portierung meiner bestehenden Code, der verschiedene nützliche Bits von Javascript aus anderen Dateien mit ASP importiert include
Erklärungen.
Einschließlich einiger einfacher Dinge mit <--#incude file="somejsconstants.asp" -->
funktionierte einwandfrei und ermöglichte mir den Zugriff auf Konstanten aus dieser Datei. Aber mein Versuch, den JSON-Serializer mit <--#incude file="json2.min.asp" -->
funktionierte nicht, und das Starten einer Version von json2.js
entsprechend geändert, um eine eigenständige aspx-Seite und warf den gleichen Fehler. (Der Compiler-Fehler ist Objects of type 'jscript_aspx' do not have such a member
.) JScript.NET scheint unglücklich über die Verwendung von Closures zu sein, eine fast allgegenwärtige Konstruktion in den heutigen Javascript-Bibliotheken.
Von Postings oben ist es klar, es gibt viele Möglichkeiten, JSON-Objekte in der .NET-Plattform zu serialisieren, aber mein Bauchgefühl ist, dass, wenn JScript.NET auf Javascript geschrieben von Douglas Crockford kotzt, dann ist es eine schrullige, inkompatible Rattenloch nicht wert, meine Zeit in zu investieren. Ich könnte genauso gut den ASP.NET-Massen folgen und C# verwenden.