我正在使用TWebModule组件用Delphi编写Web服务器应用程序。点击TWebModule的Actions属性可以定义一个新的动作,并创建一个“OnAction”事件处理程序。例如:TWebModule事件处理程序的参数是全局的吗?
procedure TMainWeb.MyAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
Response.Content := '<html><body>myvariable: '+request.queryfields.values['myvariable']+</body></html>';
end;
我已经注意到非参数化的过程可以被称为具有访问TWebModule的请求,响应,处理好和参数。举例来说,我已经成功地使用了以下的,而不是明确创建操作处理程序:
procedure TMainWeb.WebModuleBeforeDispatch(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
if Pos('myaction.html',request.url)>0 then
DoMyAction;
end;
procedure TMainWeb.DoMyAction;
begin
Response.Content := '<html><body>myvariable: '+request.queryfields.values['myvariable']+</body></html>';
end;
可我总是放心发件人,请求,响应引用,并处理好我使DoMyAction是“正确”的呢?
如果你这样做,一定要始终回应处理为真。 –