Laden...

Bilder Reload ohne die Seite neu zu laden

Erstellt von Venlox vor 18 Jahren Letzter Beitrag vor 18 Jahren 2.730 Views
V
Venlox Themenstarter:in
60 Beiträge seit 2006
vor 18 Jahren
Bilder Reload ohne die Seite neu zu laden

Hallo ,

ich arbeite gerade an einer Wbsite, in ASP mit c#.

kann man auf dem Server ein Tool Laufen lassen das ohne die Seite neu Laden zu müssen , beispielsweise den user of the Moment Einblendet?

Also in der Community sind z.B 100 User, und davon sind gerade 10 Online.

Dund der letzte der nun den login gwetätigt hat , könnte ja in einem Separaten Iframe gezeigt werden ohne das der User die Website neu reloaden muss.

Also das das Tool im Background Das Bild des neuen Automatisch an die anderen 9 die O)nline sind Sendet und wie ein Header oben gezeigt wird ???

Ich weiss nicht wie ich es sonst Ausdrücken soll... 🙂

Aber ist sowas Grundsäzlich bei Net 2.0 ASP mit C# möglich?Oder muss man da was anderes in erwegung ziehen?

Danke schonmal für die Hinweise und die Hilfe

Venx

V
Venlox Themenstarter:in
60 Beiträge seit 2006
vor 18 Jahren

Also ich denk mal , als erstes muss man eine Datenbank mit aktuellen IP Adressen der Clients anlegen.

Sobald der Client sich Einloggt , Registriert der Server die IP und startet eine Session die auch eingestellt wird.

Somit könnte man zb. ein Signal an eine IP Adresse senden.

Dann Lädt der Server den Last User , aus der Datenbank, und stellt ihn allen Clients die Online sind als Nr zur verfügung, die weiderum wird an die DB gesendet (ausgelesen) , und gibt dem Client , also dem Browser aktuelle Daten des Users und das Bild als Binary , welches im Iframe wiederum Clientmässig Aktualisiert wird .

Eine Kleine Schleife läuft im hintergrund und wartet auf das Login eines Members.
Sobald der Neue Member Online regisrtiert ist , wird die Tabelle des aktuellen User aktualisiert und die Daten bzw. die Nummer , des Neuen User eingetragen und ein signal an alle Clients gesendet, beispielsweise eine 1 oder eine 2 , damit der Client Automatisch den "Neuster User" Frame Aktualisiert.

Da ich recht Frisch bin , fehlen mir einfach die Skills um das ohne weiteres Umzusetzten.
Aber ich denke mit ein paar Kniffen und ein paar Zeilen sollte sowas durchaus nicht Unreal sein.

Wenn ich das so richtig verstanden hab , gibt es da Web Services, liege ich da richtig das diese in die richtung zeigen die mir hierbei hilfreich sind?

1.696 Beiträge seit 2006
vor 18 Jahren

also du möchtest dich etwas mehr mit WebApp-Theorie beschäftigen. Bei einer WebApp läuft die Kommunikation über das zustandlose HTTP-Protokoll, und somit kann der Server von sich aus nie irgendwas an dem Client senden; er kann nur auf einem Request des Client antworten (response). Nachdem er die Daten an dem Client abgeschickt hat, ist die Verbindung somit abgebrochen, er kennt den Client nicht mehr. Wenn der Client wieder was vom Server will, muss er einen Request absetzen und sich per Daten im HTTP-Header beim Server identifizieren.

Das was du suchst, ist eine clientseitige Lösung, die vom Client aus ständige Request im Hintergrund an dem Server schickt, um nach neuen Daten abzufragen. Suche/Google mal nach AJAX & Co.

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

C
1.215 Beiträge seit 2004
vor 18 Jahren

Es ist so, wie vbprogger es sagt, "server-push" ist unter HTTP nicht möglich. Lediglich der Client kann eine Verbindung erstellen, und diese wird in dem Moment beendet, in dem der Server das ACK des Client erhält, mit dem dieser die Antwort auf eine Anforderung (z. B. Link-klicken oder Form-absenden) quittiert.

Grüsse

29 Beiträge seit 2005
vor 18 Jahren

Also **vbprogger ** hat Recht, HTTP ist Zustandslos, somit kannst du nicht vom Server aus alle aktiven Clients in irgendwelcher art und weise benachrichtigen.

Die einzige Möglichkeit besteht darin, dein Feature ohne Postback zu realisieren, indem du über ein JavaScript Objekt in einer Schleife immer requests zum server sendest, und nachfragst, ob der aktuell User der Letzte User ist.

Ein tip:

Das JavaScript-Objekt hat ein src. Attribut, wenn du diese neu referenzierst, kriegst du aufm Server einen Request, beachte, dass du JavaScript-Konformen Response zurücksendest, am besten wieder ein JavaScript - Aufruf auf dem Client.

gruss

V
Venlox Themenstarter:in
60 Beiträge seit 2006
vor 18 Jahren

Ja cool, kann man das , weil ich neu im ASP sektor bin , nicht mit ein paar ASP Befehlen machen?

AJAx klingt super, nur wo ist denn da die Homepage?

Oder Activex Objects oder wie man das nennt gibts da keine ?

Danke an dich im Vorfeld

W
799 Beiträge seit 2004
vor 18 Jahren
  1. www.google.de
  2. Ajax
  3. ASP != ASP.NET
  4. ASP.NET = serverseitig.
  5. Serverseitig impliziert: nix Client. Nix Bilder neu laden ohne Reload.

Du machst das. 👍 🙂

29 Beiträge seit 2005
vor 18 Jahren

Original von Venlox
Ja cool, kann man das , weil ich neu im ASP sektor bin , nicht mit ein paar ASP Befehlen machen?

AJAx klingt super, nur wo ist denn da die Homepage?

Oder Activex Objects oder wie man das nennt gibts da keine ?

Danke an dich im Vorfeld

Das hat eigentlich mit ASP wenig zu tun. Da ASP serverseitig agiert, du kannst höchstens im Custom oder User-Control deine JavaScript-Aufrufe vordefinieren, die dann zur Laufzeit im Browser Gültigkeit haben. Was noch bei ASP wichtig wäre ist, dass du den Response.Header-clearst! Bei AJAX wäre ich vorsichtig, da du nicht weisst ob der Client ActiveX-Objekte im Browser zulässt, die obengenannte Technik ist im Endeffekt AJAX, oder besser gesagt AJAA (nicht async. javascript and xml, sondern async. javascript and ascii) aber natürlich kannst du auch xml-konformes responsen, kein problem. Eben der Vorteil ist, dass du nur JavaScript und nicht ActiveX zulassen musst. Falls du aber das Problem nicht hast, dann kann ich dir nur ein super Buch empfehlen, AJAX von Olaf& Carsten Bergmann (ISBN 3-935539-26-6) Ist wirklich ein super toll erklärtes Buch mit einführendem Frameworks wie Beispielsweise SAJAX oder SARISSA. Ein weiterführendes Buch wäre dann noch Foundations of AJAX von Ryan Asleson und Nathaniel T.Schutta (ISBN 1-59059-582-3).

Viel Spass, ist wirklich eine tolle Technologie, die sich sicherlich auch in Web2.0 durchsetzen wird!

C
1.215 Beiträge seit 2004
vor 18 Jahren

@KsenkteSau:
Es hat doch nicht jedes JS-Objekt eine src-Eigenschaft - lediglich für HTMLIFrameElement wäre das sinnvoll nutzbar.
Und das ist auch die beste Lösung, wenn man ActiveX im MSIE umschiffen will - man simuliert die zustandsbehaftete Verbindung über Interval-Callbacks durch einen Hidden-Iframe.
Da der ja nicht angezeigt werden muss, kann man den Output auf die wesentlichen Informationen beschränken, so entsteht auch eine sehr gute Performance für die Übertragung der aktualisierten Daten.

Grüsse

29 Beiträge seit 2005
vor 18 Jahren

Original von Cord Worthmann
@KsenkteSau:
Es hat doch nicht jedes JS-Objekt eine src-Eigenschaft - lediglich für HTMLIFrameElement wäre das sinnvoll nutzbar.
Und das ist auch die beste Lösung, wenn man ActiveX im MSIE umschiffen will - man simuliert die zustandsbehaftete Verbindung über Interval-Callbacks durch einen Hidden-Iframe.
Da der ja nicht angezeigt werden muss, kann man den Output auf die wesentlichen Informationen beschränken, so entsteht auch eine sehr gute Performance für die Übertragung der aktualisierten Daten.

Grüsse

Hallo Worthmann,

natürlich hat ein JavaScript-Objekt ein src.Attribut. Ich meine allerdings nicht ein JavaScript-Datentyp oder ein Dom-Objekt, sondern ein Script-objekt! Ich glaube da hast du mich falsch verstanden bzw. ich habe mich nicht klar genug ausgedrückt .-)

V
Venlox Themenstarter:in
60 Beiträge seit 2006
vor 18 Jahren

Was genau bedeutet das , ein src Objekt?

29 Beiträge seit 2005
vor 18 Jahren

Original von Venlox
Was genau bedeutet das , ein src Objekt?

Nein, src ist ein Attribute und kein Objekt, Objekte haben Attribute.

Ganz einfach:

du deklarierst in deiner aspx-seite folgendes scriptchen:

<script id="rqstId">
</script>

im JavaScript ruft dein Event eine Methode auf, wo du dann den Request mittels des SRC.Attributes realisieren kannst.

Function XYZ(contextId)
{
document.getElementById("rqstId").src = "ABC.aspx?Context="+ contextId + "&time=" + new Date().getTime();
}

Wichtig ist, dass du in der RequestUrl noch die aktuelle Uhrzeit mit angibst, sonst kann es sein das dein Browser (Je nach Einstellung) sich den Response aus dem Cache zieht, wenn er merkt, dass er in seiner History bereits die RequestUrl hat. Durch die Erweiterung der Uhrzeit in der RequestUrl hast du immer eine eindeutige RequestUrl, und somit gibt es auch jedesmal ein Request zum Serverli 🙂

Du brauchst auch noch einen Context-RequestParameter, damit du auf Server beim Request zwischen einen richtigen Post und einen nachladbaren Post unterscheiden kannst.

ich hoffe, ich habe das jetzt net zu kompliziert erklärt 🙂

W
799 Beiträge seit 2004
vor 18 Jahren

KsenkteSau, du bist ganz schön fett.

6.862 Beiträge seit 2003
vor 18 Jahren

@KsenkteSau

Statt alles Fett schreiben lieber Code Tags verwenden! Danke

Baka wa shinanakya naoranai.

Mein XING Profil.

29 Beiträge seit 2005
vor 18 Jahren

Original von Waschbecken
KsenkteSau, du bist ganz schön fett.

Thx m8 🙂

wenn jemand an einer kompletten Lösung interessiert ist, so schreibt mir einfach ne mail.

gruss

6.862 Beiträge seit 2003
vor 18 Jahren

Original von KsenkteSau

Original von Waschbecken
KsenkteSau, du bist ganz schön fett.

Thx m8 🙂

wenn jemand an einer kompletten Lösung interessiert ist, so schreibt mir einfach ne mail.

gruss

Okay, der Witz hat an Boden verloren als ich die Beiträge editiert hab 🙂 War ja kein persönlicher Angriff.

Baka wa shinanakya naoranai.

Mein XING Profil.