2012-08-17 47 views
1

我需要在我的Delphi CGI webservice的Webmodule中設置一個全局參數,以便我可以在請求的整個生命週期中將它用作唯一標識符(traceId)用於記錄目的。唯一的標識符需要在Webmodule中生成,因爲我記錄的第一件事是接收到的原始XML。然後,我在我的實際Web服務方法中記錄各種調試信息,並且需要Id將這些全部結合在一起。Delphi 7 CGI Web服務全局參數

我想不出有辦法做到這一點。實際的Webmodule無法在我的webservice方法中訪問,並且任何嘗試都會引發訪問衝突。我可能以完全錯誤的方式做到這一點,但我可以想到另一種解決方案。

任何想法?

回答

1

假設您在談論SOAP Web服務,您可以使用GetSOAPWebModule從服務方法中獲取對Web模塊的引用。

實施例:

uses 
    WebBrokerSOAP, MyWebModuleUnit; 

procedure TMyService.MyMethod; 
var 
    MyWebModule: TMyWebModule; 
    TraceID: Integer; 
begin 
    MyWebModule := GetSOAPWebModule as TMyWebModule; 
    TraceID := MyWebModule.TraceID; 
end; 
+0

你能更詳細地解釋或提供一個例子? – JBehrendt 2012-08-17 09:45:01

+0

工作很好 - 謝謝! – JBehrendt 2012-08-17 13:28:54