0

製品コードを渡しながら製品情報を返す安らかなサービスがあります。インターフェイスは次のようになります

 [OperationContract]
    [WebInvoke(UriTemplate = "Product/{ProductCode}", Method = "GET", BodyStyle = WebMessageBodyStyle.Bare, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
    Product GetProductInformation(String ProductCode);

URIを入力してブラウザからサービスにアクセスしています。

春のAOPでログを実装しています。Spring AOP を使用してメソッドをインターセプトする方法。NameMatchMethodPointcutAdvisor を試してみましたが、サービスにアクセスする前に spring を使用してサービス オブジェクトを作成していないため、インターセプトできません。これのロギングを実装する方法はありますか?

4

1 に答える 1

0

最後に私は答えを見つけました..

誰かのために役立つ..

スプリング ファクトリがサービス オブジェクトを作成できるようにすることで、インターセプトが可能になります。そのために、サービス ホストの svc ファイルに、このような Factory 属性を追加します。

<%@ ServiceHost Language="C#" Debug="true" Service="Servicename" Factory="Spring.ServiceModel.Activation.ServiceHostFactory" %>

.net が web.config ファイルの のhandlers部分の 下にサービス オブジェクトを作成するのを防ぐに<system.webServer>は、次を削除します。

<modules runAllManagedModulesForAllRequests="true"/>

と追加

<remove name="WebServiceHandlerFactory-Integrated"/>
于 2012-06-07T10:43:22.450 に答える