Heute arbeite ich an einer Funktion für Tutoren, um Nachrichten im Unternehmen zu übermitteln. Wenn ein Tutor zum ersten Mal eintritt, gibt es keine Nachricht, und dann wird die Nachricht hinzugefügt und geändert Interaktion zwischen CS und der Rezeption, und ich setze sie über Handler um.
Da Sie seine Nachricht ändern möchten, müssen Sie sie anhand seiner ID ändern. Im Allgemeinen speichern die Projekte des Unternehmens die Informationen des Benutzers nach der Anmeldung in der Sitzung, sodass kein Zweifel besteht, dass die ID anhand der ID ermittelt werden muss . Ich immer zuerst
Ich kann die ID nicht abrufen, das heißt, ich kann die gewünschte ID nicht in der CS-Datei abrufen. Die Art und Weise, wie ich sie erhalte, ist wie folgt: string uid = HttpContext.Current.Session[UserSessionPolicy.SESSION_USERID] as string;
Erklären Sie „UserSessionPolicy.SESSION_USERID“, wobei „UserSessionPolicy“ eine Klasse ist, die speziell zum Speichern von Benutzerinformationen verwendet wird. Natürlich wird auch die Benutzer-ID gespeichert, die im Code „SESSION_USERID“ ist. Als ich auf die Schaltfläche „Senden“ geklickt habe, wurde ein Fehler wie „Das Objekt wurde nicht auf eine Instanz verwiesen“ gemeldet. Würde jeder definitiv denken, dass es nicht instanziiert wurde? Das stimmt, es wird einfach nicht instanziiert, aber wie kann man es im Handler instanziieren?
Was die Sitzung betrifft, weiß jeder, dass die Sitzung ein Bereich ist, der zum Speichern des Status verwendet wird. Daher muss im Handler auf einen Namespace verwiesen werden. Ich bin bereits auf dieses Problem gestoßen
Ich hatte solche Kopfschmerzen, ich habe es heute gelöst. Heute werde ich meine Moralvorstellungen hier niederschreiben und sie mit allen teilen. Ich hoffe, dass die Internetnutzer in Zukunft ein wenig Hilfe leisten, wenn sie auf die gleichen ähnlichen Probleme stoßen.
In meinem Beispiel muss der Tutor eine ID in seiner Nachricht verwenden. Kann dies auch für andere Benutzer durchgeführt werden, die eine ID verwenden müssen? Im Allgemeinen muss die Klasse, die Daten über den Handler verarbeitet, auf den Namen „using System.Web.SessionState;“ verweisen.
Leerzeichen, dann erbt diese Klasse „IReadOnlySessionState“. Zum Beispiel:
Code
<%@ WebHandler Language="C#" Class="TeacherInfoHandler" %>using System;using System.Web;using com.rrs.baby.business.Information;using com.rrs.core;using System.Web.Script.Serialization ;using System.Web.SessionState;//Verwenden Sie die ID, die in der Sitzung gespeichert werden sollusing System.Collections;public class TeacherInfoHandler: IHttpHandler, IReadOnlySessionState{ //Methodenkörper}
In dieser TeacherInfoHandler-Klasse können Sie den von der Sitzung gespeicherten Wert verwenden.