Die Skalierung der Webanwendung über mehrere Instanzen ist einer der größten Vorteile der azure Cloud. Um die Unterstützung mehrerer VMs für unsere Web-Rollen-Cloud-Anwendung zu erreichen, implementieren wir Azure Redis Cache. Wir verwenden den RedisSessionStateProvider-Provider für die Verwaltung des Sitzungsstatus. Im Folgenden sind die Konfigurationseinstellungen für die Sitzungsverwaltung in der Datei web.config aufgeführt.Sitzungstimeout gleitet nicht im Azure Redis Cache-Sitzungsstatusanbieter
<authentication mode="Forms">
<forms loginUrl="~/Login" slidingExpiration="true" timeout="20" defaultUrl="~/Default" />
</authentication>
<sessionState timeout="20" mode="Custom" customProvider="MySessionStateStore">
<providers>
<add name="MySessionStateStore" type="Microsoft.Web.Redis.RedisSessionStateProvider"
host = "dummy.redis.cache.windows.net"
port = "6380"
accessKey = "dummysecretkey"
ssl = "true"
throwOnError = "true"
retryTimeoutInMilliseconds = "5000"
databaseId = "0"
applicationName = ""
connectionTimeoutInMilliseconds = "5000"
operationTimeoutInMilliseconds = "1000"
connectionString = ""/>
</providers>
Unser Problem ist, dass Session-Timeout nicht mit dem Benutzerpostbacks erweitert, um 10:00 Uhr unsere Benutzer meldet sich die Anwendung annehmen, dann seine Sitzungsdaten in absoluten 10.20 abläuft. Wenn Nutzer Postbacks um 10:15 Uhr abgeben, sollte die Sitzung um 10:35 Uhr enden, aber dies geschieht nicht, sie endet um 10:20 Uhr morgens.
Im Folgenden finden Sie den Code in Click-Ereignis des Login-Button
protected void Button1_Click(object sender, EventArgs e)
{
FormsAuthentication.SetAuthCookie(TextBox1.Text.Trim(), true);
ConnectionMultiplexer connection = ConnectionMultiplexer.Connec("dummy.redis.cache.windows.net,ssl=true,password=dummysecretkey");
IDatabase cache = connection.GetDatabase();
Session["UserName"] = TextBox1.Text;
Response.Redirect("Default.aspx");
}
ich schätzen würde, wenn es mich wissen lassen konnte, was getan werden muss, um Session-Timeout in Gleit-Modus zu gelangen. Mit besten Grüßen,
H. R Yadav
Vielen Dank für die Veröffentlichung der neuen Version. Jetzt habe ich kein Problem mit Session Timeout. Jedes Postback erweitert das Zeitlimit der Sitzung wie gewünscht. Ich frage mich, wie ihr diesen Fehler verpasst habt, da es ein sehr häufiges Problem für alle sein wird, die den Sitzungsstatus im Redis-Cache behalten? –
Es hat früher nicht existiert. Es war eine Regression von einem anderen Fixpunkt. Danke für die Berichterstattung. –
Dieses Problem besteht weiterhin. Ich verwende 1.6.3 –