Aujourd'hui, je travaille sur une fonction permettant aux tuteurs de soumettre des messages dans l'entreprise. Pour parler franchement, lorsqu'un tuteur entre pour la première fois, il n'y a pas de message, puis le message est ajouté et modifié. interaction entre CS et la réception, et je l'implémente via Handler.
Parce que vous souhaitez modifier son message, vous devez le modifier en fonction de son identifiant. Cependant, généralement les projets de l'entreprise enregistrent les informations de l'utilisateur après la connexion à la session, il ne fait donc aucun doute que l'identifiant doit être obtenu en fonction de l'identifiant ; .Je toujours au début
Je ne parviens pas à obtenir l'ID, c'est-à-dire que je ne parviens pas à obtenir l'ID que je veux dans le fichier cs. La façon dont je l'obtiens est la suivante : string uid = HttpContext.Current.Session[UserSessionPolicy.SESSION_USERID] as string;
Expliquez ceci "UserSessionPolicy.SESSION_USERID", où "UserSessionPolicy" est une classe spécialement utilisée pour enregistrer les informations utilisateur. Bien sûr, elle enregistre également l'ID utilisateur, qui est le "SESSION_USERID" dans le code. Lorsque j'ai cliqué sur le bouton Soumettre, une erreur du type « L'objet n'a pas été référencé à une instance » a été signalée. Tout le monde penserait certainement qu'il n'a pas été instancié ? C'est vrai, ce n'est tout simplement pas instancié, mais comment l'instancier dans Handler ?
En ce qui concerne la session, tout le monde sait que la session est une portée, utilisée pour sauvegarder l'état, donc un espace de noms doit être référencé dans le gestionnaire. J'ai déjà rencontré ce problème.
J'avais tellement mal à la tête que je l'ai résolu aujourd'hui. Aujourd'hui, je vais écrire ma morale ici et la partager avec tout le monde. J'espère qu'à l'avenir, les internautes apporteront un peu d'aide lorsqu'ils rencontreront les mêmes problèmes similaires.
Dans mon exemple, le tuteur doit utiliser l'ID dans son message. Cela peut-il être fait pour d'autres utilisateurs qui ont besoin d'utiliser l'ID ? De manière générale, la classe qui traite les données via Handler doit faire référence au nom « using System.Web.SessionState ; »
espace, alors cette classe hérite de "IReadOnlySessionState". Par exemple:
code
<%@ WebHandler Language="C#" Class="TeacherInfoHandler" %>en utilisant System;en utilisant System.Web;en utilisant com.rrs.baby.business.Information;en utilisant com.rrs.core;en utilisant System.Web.Script.Serialization ;using System.Web.SessionState;//Utiliser l'ID à enregistrer dans la sessionusing System.Collections;classe publique TeacherInfoHandler : IHttpHandler, IReadOnlySessionState{ //Corps de la méthode}
Dans cette classe TeacherInfoHandler, vous pouvez utiliser la valeur enregistrée par la session.