RAD Serverの拡張パッケージ クラスはリクエスト毎にロードされるみたい

RAD Serverの拡張パッケージ クラスはリクエスト毎にロードされるのかどうかを検証するため、次のコードを作ってみました。

※該当部分のコードを抜粋
type
  [ResourceName('Test')]
  TTestResource = class
  public
     n: Integer;
     constructor Create;
  published
    procedure Get(const AContext: TEndpointContext; const ARequest: TEndpointRequest; const AResponse: TEndpointResponse);
    [ResourceSuffix('{item}')]
    procedure GetItem(const AContext: TEndpointContext; const ARequest: TEndpointRequest; const AResponse: TEndpointResponse);
  end;
implementation

constructor TTestResource.Create;
begin
  n := 0;
end;

procedure TTestResource.GetItem(const AContext: TEndpointContext; const ARequest: TEndpointRequest; const AResponse: TEndpointResponse);
var
  LItem: string;
begin
  LItem := ARequest.Params.Values['item'];
  n := n + 1;
  AResponse.Body.SetValue(TJSONString.Create('Test ' + LItem + '-' + n.ToString), True)
end;

RAD Serverを起動してブラウザーから次のURLでアクセスすると、

http://localhost:8080/Test/hoge

変数nはコンストラクタで初期化した値のままです。

"Test hoge-1"

結論としては、RAD Serverの拡張パッケージ クラスはリクエスト毎にロードされるということでしょうか。

え?Webサイトのバックアップ、してないの!?

いざという時には復旧までしてくれる
『ワードプレス外部バックアップサービス』

■3つの特長
・自分でやらなくて良い
・いざという時の復旧付き
・外部サーバーにバックアップ

コメントを残す