2012-05-01 5 views
7

要約:Delphi Soap Server Applicationの元のTWebRequestオブジェクトにはどうしてアクセスしますか?Delphi SOAPサーバーの元のTWebRequestオブジェクトへのアクセス

私のウェブサービスは方法CallMeとサービスITestを公開する:

ITest = interface(IInvokable) 
['{AA226176-FFAD-488F-8768-99E706450F31}'] 
    function CallMe: string; stdcall; 
end; 
... 
initialization 
InvRegistry.RegisterInterface(TypeInfo(ITest)); 

このインタフェースは、クラスで実装されています

TTest = class(TInvokableClass, ITest) 
public 
    function CallMe: string; stdcall; 
end; 
... 
initialization 
InvRegistry.RegisterInvokableClass(TTest, TestFactory); 

私は実装の内部で元TWebRequestオブジェクトにアクセスするにはどうすればよいですこの方法の?例えば。 - 多くの感謝:)

function TTest.CallMe: string; 
begin 
    // how to access TWebRequest object 
    ... 
end; 

答えて

4
uses 
    System.SysUtils, 
    Web.HTTPApp, 
    Soap.WebBrokerSOAP; 

function TTest.CallMe: string; 
var 
    WebDispatcher: IWebDispatcherAccess; 
begin 
    Result := ''; 
    if Supports(GetSOAPWebModule, IWebDispatcherAccess, WebDispatcher) then 
    Result := Format('You are calling me from: %s', [WebDispatcher.Request.RemoteIP]); 
end; 
+0

グレート答え:私はクッキーが設定されたかどうか確認する、または要求に応じて他のプロパティを読みたい場合は –

関連する問題