Frage

Ich habe eine IHttpHandler in .NET C # erstellt, die Stücke von HTML zu einer klassischen ASP-Seite zurück.

Die klassische Asp-Seite kommuniziert mit dem IHttpHandler durch grundlegende Anfragen http ServerXMLHTTP in Vbscript mit oder Ajax Anrufe in JavaScript.

Nun, ich brauche einen Weg, um eine Variable zu teilen, die ich in VBScript habe, aber nicht in Javascript mit der .NET-Anwendung.

Das erste Bit, eine Variable zwischen klassischen ASP und .net-Sharing ist kein Problem, da ich es auf die HTTP-Anforderung nur hinzufügen kann. Da die Variablen in Javascript ist nicht verfügbar, aber ich kann das nicht tun, in diesem Fall.

hatte ich die Idee, dass ich vielleicht die Variable in der .NET-Anwendung zwischenspeichern können und verwenden Sie die Cache-Version für JavaScript-Aufrufe. Aber damit dies funktionieren werde ich einen Weg brauchen, um eindeutig zu identifizieren, das „Client“ in .NET ...

Ich habe versucht, System.Web.SessionState.IRequiresSessionState meinen Httphandler hinzuzufügen und die SessionId zu verwenden, aber dies hat nicht funktioniert, weil jeder einzelnen Anruf an die Httphandler eine neue ID zu bekommen scheint.

denke ich, den richtigen Weg? Was sind meine Optionen hier?

War es hilfreich?

Lösung

Wie sei es eine verborgene Variable auf der Seite, in dem Sie den Wert der Variablen von Ihren Server-Seite vb Skript Ihrer ASP-Seiten speichern können.

Dann können Sie Javascript verwenden diese Variable abzufragen hinüber zum Asp.Net Handler über Ihre Ajax-Aufrufe zu senden.

Andere Tipps

Sie können Ihren Wert in einem Cookie setzen, dann könnte man mit Javascript lesen und mit ihm etwas tun, auch sie in einer Anfrage an das Senden .net app ...

Am Ende meiner Lösung für das Problem war folgendes:

  1. Ich sende die Variablen meine Webservice zusammen mit der normalen ws Anfrage
  2. I speichern die Variablenwerte in einer Hash-Tabelle auf dem Webservice und gibt die Hashkey an den Client in einem versteckten html-Objekt (ich, daß ein Kopf <meta> Element verwendet)
  3. Im javascript ich diesen Hash-Wert gelesen und hängen Sie es an die http-Anfrage als Header-Wert.
  4. Wenn der Webservice sieht, dass Hashkey er die entsprechenden Variablenwerte in der persistenten Hash-Tabelle nachschlägt.

ist vielleicht nicht die beste Lösung sein, aber es scheint auch in meinem Fall zu arbeiten ...

würde ich ein Cookie auch empfehlen. Sie können auch den Wert aus der Datenbank laden, aber das zu viel des Guten war.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top