2009-06-21 13 views
21

Hat jemand Informationen darüber, wie der Status in Azure verwaltet wird, wenn Sie mehrere Instanzen ausgewählt haben? Es scheint, als wäre InProc wertlos, und Sie müssten eine andere Statusserverinstanz haben oder den Datenspeicher verwenden, um den Benutzerstatus zwischen Servern zu speichern.Wie behandelt Microsoft Azure den Sitzungsstatus?

Oder implementiert es Sticky-Sitzungen, so ist InProc alles was Sie brauchen.

Konnten Sie die Antwort hier: Azure Forums

+0

Dieser Link ist tot, weiß jemand, ob diese Informationen woanders sind? – andynormancx

+0

Siehe meine Antwort unten, mit Links zu den Cache-FAQ sowie einen Link zu Details zu den neuen ASP.NET Universal Providern (der neue Session State Provider unterstützt nativ SQL Azure). –

Antwort

18

Tabelle Lagerung der logischste Ort wäre. Andere Serverfarm-Typ-Setups verwenden auch eine Datenbanktabelle zum Speichern von Sitzungsinformationen.

Sehen Sie sich das AspProviders-Projekt in den Windows Azure SDK-Beispielen an. Es verfügt über einen SessionState-Anbieter, der Azure Table Storage verwendet.

+0

Da Sie pro Transaktion mit Tabellenspeicher zahlen, frage ich mich, ob SQL Azure von einem wirtschaftlichen Standpunkt besser wäre, da Sie nur für die Bandbreite bezahlen (zusätzlich zur db selbst). –

+6

Ich bin mir ziemlich sicher, Tischlagerung ist die wirtschaftlichere Wahl. 1 GB SQL Azure kostet 9,99 US-Dollar pro Monat. Sie können 1 GB im Tabellenspeicher für 15 Cent speichern. Transaktionen sind 10.000 für einen Cent, also mit den verbleibenden 9,84 $ könnten Sie 9,84 Millionen Transaktionen erhalten. Wenn Sie also mehr als 10 Millionen Transaktionen pro Monat durchführen, wäre SQL Azure günstiger.Datenübertragungsgebühren werden nur für Daten in/aus Azure bezahlt, daher sollten die Sitzungsdaten nicht diesen Kosten unterliegen. – CoderDennis

+0

Aber wie löscht man alte Sitzungsinformationen aus Tabellen- und Blobspeicher? – joe

2

Keine Sitzungsaffinität erforderlich und daher Sitzungszustandsanbieter zu verwenden, die auf Azure storage oder SQL Azure storage angewiesen sind, ist die beste Wahl.

Für einige Legacy-Anwendungen benötigen Sie möglicherweise noch Sitzungsaffinität. Für diese Fälle ist ARR zwischen Azure load balancer und Web farm eine Option.

Weitere Details unter http://go.archims.fr/hW54Xz

13

AppFabric Cache gingen gerade in der Produktion, und dies ist eine hervorragende Möglichkeit, die Sitzungsdaten zu verwalten. In der Tat hat es einen benutzerdefinierten Sitzungsstatusanbieter, der einfach in web.config wechselt. Sie finden es im Azure-Portal.

Alle Informationen zu Cache-Größe, Preis und SLA sind here.

Bearbeiten: Windows Azure-Webrollenvorlagen enthalten jetzt die neuen ASP.NET Universal Provider, einschließlich eines Sitzungsstatusanbieters, der SQL Azure unterstützt. Werfen Sie einen Blick auf Nate Totten's blog post für weitere Details.

BEARBEITEN 7/8/2012 Windows Azure bietet jetzt sowohl eine Cache-Rolle als auch einen In-Memory-Cache (beides einfach mit den neuesten Tools und dem v1.7 SDK konfigurierbar). Der In-Memory-Cache verteilt den Cache auf eine Ihrer vorhandenen Rolleninstanzen und verwendet dabei einen festgelegten Prozentsatz an RAM (nette "freie" Option, wenn Sie in Ihrer App nicht viel RAM benötigen).

Verwandte Themen