Ich möchte eine Seite erstellen, auf der ein Benutzer einen Beitrag zu einer auf der Startseite angezeigten Zeichenfolge schreiben kann. Wie kann ich dies tun?
Antwort
Zu viele Anzeigen?Aus Ihrer Frage und der anschließenden Klärung geht hervor, dass Sie nicht möchten, dass dieser Text pro Benutzer/pro Maschine gespeichert wird - was bedeutet, dass die zu speichernden Daten eher serverseitig als clientseitig gespeichert werden müssen. Der Vollständigkeit halber ist es auch wichtig zu wissen, dass Silverlight-Anwendungen zu 100 % clientseitig laufen.
Wie Sie die Daten auf dem Server speichern, bleibt Ihnen überlassen (Sie können zum Beispiel in eine Datenbank schreiben).
Lassen Sie uns zunächst über die Einstellung des Wertes sprechen. Sie müssen in der Tat Daten vom Client (der Silverlight-Anwendung, die in Ihrem Browser läuft) an den Server übertragen. Dies geschieht in der Regel durch das Einrichten einer Art Endpunkt auf dem Server, um solche Informationen zu erhalten - in der Regel ein Webdienst und eine entsprechende Methode. Wenn Silverlight in einer ASP.Net-Seite innerhalb eines Visual Studio-Projekts gehostet wird, können Sie einfach einen solchen Dienst hinzufügen, indem Sie die Visual Studio-Vorlage für einen "Silverlight-aktivierten WCF-Dienst" verwenden. Erstellen Sie eine Methode "SetText" (oder vielleicht "AppendText"), die einen String-Parameter annimmt. Der Hauptteil der Funktion sollte die serverseitige Speicherung übernehmen, je nachdem, welche Technologie Sie verwenden.
Um den Wert abzurufen, haben Sie je nach Bedarf verschiedene Möglichkeiten. Wenn Sie nach "Live"-Aktualisierungen in den Clients suchen, können Sie entweder die Duplex-Kommunikation mit Ihrem Webdienst ( aquí ) oder vielleicht Umfragen. Wenn Sie nur daran interessiert sind, dass der Wert beim Start der Anwendung gesetzt wird, können Sie ihn entweder als Startparameter in die ASP.Net-Seite schreiben ( aquí ) für Ihre Silverlight-App oder verwenden Sie einen Webservice-Aufruf, um den Wert abzurufen. Dies ist auch die beste Lösung, wenn der Wert auf Anforderung des Benutzers aktualisiert werden soll (durch Drücken einer Aktualisierungs-/Refresh-Schaltfläche). Denken Sie daran, dass Webservice-Aufrufe in Silverlight immer asynchron sind.
Beachten Sie, dass ich oben zwar WCF-Webdienste erwähnt habe, es aber auch andere Endpunktoptionen gibt - REST-Dienste, ASMX-Dienste usw. Es hängt alles von Ihren spezifischen Anforderungen ab...