在TWebModule
过程/函数中如何获取当前请求?
我试过了:
procedure TWebModule1.DoSomething;
var
aRequest : TWebRequest;
begin
aRequest := Request;
end;
但似乎是TWebModule
创建时产生的第一个请求。
我知道我能够将请求传递给每个TWebActionItem
的后续过程/函数,但我希望避免在每个地方传递请求。有什么提示吗?
更新
在深入研究代码后,我找到了WebContext,它似乎是解决方案,例如:
uses Web.WebCntxt;
procedure TWebModule1.DoSomething;
var
aRequest : TWebRequest;
begin
if WebContext <> nil then
aRequest := WebContext.Request;
end;
这是正确的方法吗? WebContext
似乎总是nil
。
我正在使用德尔福柏林更新2。
答案 0 :(得分:3)
每个请求都会经过TWebActionItem
中定义的TWebModule.Actions
。 TWebActionItem
有一个事件OnAction
。在那里,您将获得当前请求的TWebRequest
对象。
然后,您可以将其传递给后续的过程/函数。