Das von mir unter dem Dateisystem entwickelte Programm wurde unter IIS konfiguriert und es gab einige Probleme mit Cookies.
1. Der Verlust von Cookies. Ich habe vor ein paar Tagen einen Aufsatz geschrieben: „Ein sehr schwieriges Problem. Ein Webprogramm, das unter dem Dateisystemmechanismus mit vs2005 entwickelt wurde, kann nicht normal ausgeführt werden, wenn es für iis konfiguriert ist?“ „“ hat meine Lösung für das Problem des Verlusts von Cookies, die Superadministratorberechtigungen speichern, aufgezeichnet. Obwohl das Problem endlich gelöst wurde, verstand ich den Grund nicht. Am Ende des Aufsatzes habe ich einen weit hergeholten Grund angegeben, warum es unter dem Dateisystem normal funktioniert, aber nicht unter iis: Das Dateisystem stellt bei jedem Debuggen einen Mikroserver bereit und der Speicher wird jedes Mal neu zugewiesen. Wenn Sie es zum ersten Mal unter iis ausführen, müssen Sie Speicher zuweisen. Solange sich das Programm nicht ändert und nicht neu kompiliert werden muss, wird der Speicher nicht mehr neu zugewiesen. Heute habe ich die hier erwähnte „Sammlung häufig gestellter Fragen zur Verwendung von Sitzungen in ASP.NET“ gesehen: Es kann mit der Umgebung des Computers zusammenhängen, z. B. Firewall oder Antivirensoftware usw. Versuchen Sie, die Firewall auszuschalten (die Der Grund für den Sitzungsverlust sollte mit dem Grund für den Verlust von Cookies zusammenhängen. (Dasselbe). Ich denke, was er gesagt hat, macht Sinn. Das Ausführen unter dem Dateisystem sollte nicht durch die Firewall gehen, aber das Ausführen unter iS muss durch die Firewall gehen. Es scheint, dass ich nicht der Einzige bin, der dieses Problem hat. Ich habe bei der Verwendung von asp.net1.1 noch nie einen Verlust von Cookies oder Sitzungen festgestellt.
2. Die chinesischen Schriftzeichen in den Cookies waren verstümmelt. Gestern Abend entdeckte ich plötzlich, dass es ein weiteres Problem mit den chinesischen Schriftzeichen in den Cookies unter IIS gab und verstümmelte Zeichen anzeigte.
Es hat lange gedauert, das Problem zu lösen:
//Beim Schreiben von Cookies
string t =HttpUtility.UrlEncode (Chinesischer Wert, der in Cookies geschrieben werden soll);
HttpCookie c = new HttpCookie("user_realname", t);
Response.Cookies.Add(c);
//Beim Lesen von Cookies
t=Der erhaltene chinesische Cookie-Wert;
t = HttpUtility.UrlDecode(teacher_name);
Das ist es.
Erinnern Sie Freunde, die das vs2005-Dateisystem zum Entwickeln von Projekten verwenden, daran, aufmerksam zu sein.
Der Grund für den Unterschied in der Funktionsweise des Dateisystems und von iis sollte mit ihren Betriebsmechanismen zusammenhängen. Ich hoffe, einige Informationen zu finden, die ihre Betriebsmechanismen vorstellen!