Announcement

Collapse
No announcement yet.

News-Ticker per ServerPush

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • News-Ticker per ServerPush

    Hallo Forum,

    ich möchte eine Art News-Ticker per ServerPush realisieren. D. h. die Information wird auf einer aspx-Seite dargestellt. Immer dann, wenn
    in eine Tabelle T ein neuer Datensatz eingefügt wird, soll dieser autom. an den Client gesendet werden. Analog soll die Information am Client aktualisiert werden, falls sich in einem bestimmten Feld des Datensatzes etwas ändert.

    Hat jemand eine Idee, wie man sowas bauen kann?

  • #2
    Kenne ASPX zwar nicht, aber HTTP ist zustandslos. Der Server kann nicht von sich aus etwas an die Clients senden. Aber vielleicht ist das mit ASPX anders....
    Zuletzt editiert von Christian Marquardt; 30.12.2010, 21:04. Reason: Rechtschreibung
    Christian

    Comment


    • #3
      Generell hat Christian recht. ServerPush mit ASp kann man nicht realisieren.

      Wolltest du einfach die Info auf dem Client rechtzeitig aktualisiert haben, benutze das AJAX-Beispiel unten.

      Damit wird deine Anforderung zwar nicht erfüllt, wird aber einen ähnlichen Effekt bekommen.
      Zuletzt editiert von vadym voytas; 16.01.2011, 12:26.
      Bitte vergessen Sie nicht die Antwort zu bewerten. Danke.:-)

      Comment


      • #4
        AJAX wird vom Client initiiert. Damit ist die Anforderung nicht zu erfüllen
        Christian

        Comment


        • #5
          Originally posted by Christian Marquardt View Post
          AJAX wird vom Client initiiert.
          Richtig,
          deshalb initiirt man ständig mit 2-3 Sec Abstand.
          Und damit nicht die ganze Seite neu geladen wird, gibt es die Möglichkeit das nur über einen kleinen Panel auf der Seite zu initiiern, so dass nur der Inhalt dieses Panels neu geladen wird.

          Ohne AJAX kann man das gleiche in HTML mit META-Refresh machen. AJAX flickt aber nicht.
          Zuletzt editiert von vadym voytas; 08.01.2011, 17:45.
          Bitte vergessen Sie nicht die Antwort zu bewerten. Danke.:-)

          Comment


          • #6
            Das nennt man Polling. Und genau das will der Threadersteller offenbar nicht. Ist verständlich, wenn x-Clients alle 2-3 Sekunden pollen...oder der Client per ISDN im Internet ist.
            Christian

            Comment


            • #7
              Originally posted by Christian Marquardt View Post
              Das nennt man Polling. Und genau das will der Threadersteller offenbar nicht.
              Das muss er uns sagen :-)
              Ist verständlich, wenn x-Clients alle 2-3 Sekunden pollen...oder der Client per ISDN im Internet ist.
              Genau deshalb AJAX und Update über einen kleinen Panel und nicht über die ganze Seite.
              Bitte vergessen Sie nicht die Antwort zu bewerten. Danke.:-)

              Comment


              • #8
                Das muss er uns sagen :-)
                Hat er ->ich möchte eine Art News-Ticker per ServerPush realisieren.


                Genau deshalb AJAX und Update über einen kleinen Panel und nicht die ganze Seite.
                Ist doch egal was der Auslöser ist. Beim Polling von 2-3 Sek. wäre hier noch nicht mal der Client in vorderster Front. Hier kann man sich dann schon fragen - je nach erwartetem Aufkommen - ob der Server noch hinterherkommt, bzw. was für Hardware benötigt wird. Ist dann auch abhängig, wieviel Daten übertragen werden. Das ein nicht so gut angebundener Client dann ev. Probleme hat, kommt noch hinzu.
                Christian

                Comment


                • #9
                  Hallo as2000 ,
                  hier ist die (mögliche) Lösung
                  Code:
                  <asp:ScriptManager ID="ScriptManager1" runat="server" />
                          <asp:Timer ID="Timer1" OnTick="Timer1_Tick" runat="server" Interval="3000" />
                          <br />
                  
                          Nachrichten<br />
                          <br />
                  
                          <asp:UpdatePanel ID="BannerPanel" runat="server" UpdateMode="Conditional">
                          <Triggers>
                              <asp:AsyncPostBackTrigger ControlID="Timer1" />
                          </Triggers>
                          <ContentTemplate>
                              Aktuelle Zeit: 
                              <asp:Label ID="Label1" runat="server" Text="Label">
                              </asp:Label>
                          </ContentTemplate>
                          </asp:UpdatePanel>
                  Code:
                          protected void Timer1_Tick(object sender, EventArgs e)
                          {
                  
                              Label1.Text = DateTime.Now.ToString(); // Hier könnte man Ergebnis aus der NewsDatenbank übergeben.
                          }
                  Zuletzt editiert von vadym voytas; 10.01.2011, 22:39.
                  Bitte vergessen Sie nicht die Antwort zu bewerten. Danke.:-)

                  Comment


                  • #10
                    Das Gegenteil, was der Fragesteller wollte...aus nachvollziehbaren Gründen
                    Christian

                    Comment

                    Working...
                    X