Hoje estou trabalhando em uma função para os tutores enviarem mensagens na empresa. Para ser franco, quando um tutor entra pela primeira vez, não há mensagem, e então a mensagem é adicionada e modificada. interação entre CS e recepção, e implemento através do Handler.
Como você deseja modificar a mensagem dele, é necessário modificá-la com base no seu ID. Porém, geralmente os projetos da empresa salvam as informações do usuário após o login na sessão, então não há dúvidas de que o ID deve ser obtido com base no ID. . eu sempre no começo
Não consigo pegar o ID, ou seja, não consigo pegar o ID que desejo no arquivo cs. A forma como consigo é assim: string uid = HttpContext.Current.Session[UserSessionPolicy.SESSION_USERID] as string;
Explique isso "UserSessionPolicy.SESSION_USERID", onde "UserSessionPolicy" é uma classe usada especialmente para salvar informações do usuário. Claro, ela também salva o ID do usuário, que é o "SESSION_USERID" no código. Quando cliquei no botão enviar, um erro como "O objeto não foi referenciado a uma instância" foi relatado. Todos definitivamente pensariam que não foi instanciado. Isso mesmo, só não é instanciado, mas como instanciar no Handler?
Quanto à Sessão, todos sabem que sessão é um escopo usado para salvar estado, portanto, um namespace deve ser referenciado no Handler.
Estava com muita dor de cabeça, resolvi hoje. Hoje vou escrever minha moral aqui e compartilhá-la com todos. Espero que, no futuro, os internautas forneçam uma pequena ajuda quando encontrarem os mesmos problemas semelhantes.
No meu exemplo, o tutor precisa usar ID em sua mensagem. Isso pode ser feito para outros usuários que precisam usar ID? De modo geral, a classe que processa dados através do Handler deve referir-se ao nome "using System.Web.SessionState;"
espaço, então essa classe herda "IReadOnlySessionState". Por exemplo:
código
<%@ WebHandler Language="C#" Class="TeacherInfoHandler" %>usando System;usando System.Web;usando com.rrs.baby.business.Information;usando com.rrs.core;usando System.Web.Script.Serialization ;using System.Web.SessionState;//Use o ID a ser salvo na sessãousing System.Collections;public class TeacherInfoHandler: IHttpHandler, IReadOnlySessionState{ //Corpo do método}
Nesta classe TeacherInfoHandler, você pode usar o valor salvo pela sessão.