dans une procédure TWebModule
comment obtenir la demande actuelle?Delphi TWebModule (IIS-ISAPI): obtenir la demande actuelle
J'ai essayé:
procedure TWebModule1.DoSomething;
var
aRequest : TWebRequest;
begin
aRequest := Request;
end;
, mais il semble que la première demande produite sur TWebModule
création.
Je sais que je suis capable de passer la demande aux procédures/fonctions suivantes de chaque TWebActionItem
, mais je veux éviter de passer la demande partout. Des conseils?
Mise à jour
Après avoir creusé dans le code, je l'ai trouvé WebContext et il semble la solution, par exemple .:
uses Web.WebCntxt;
procedure TWebModule1.DoSomething;
var
aRequest : TWebRequest;
begin
if WebContext <> nil then
aRequest := WebContext.Request;
end;
est la bonne façon? WebContext
semble toujours nil
.
Je suis sur la mise à jour Delphi Berlin 2.
oui, mais je veux éviter de passer la demande partout –
Je pense que chaque demande sera traitée dans un fil séparé. Donc, vous devriez le passer pour éviter les conflits de threads. Vous pouvez également le stocker en tant que champ de classe. Mais alors vous devez gérer des multi-threads. – Andreas
Vous pourriez en faire un threadvar comme les webmodules SOAP ou Datasnap. –