Прозрачная регистрация в ASP.NET с EntLib - PullRequest
1 голос
/ 22 июня 2011

Я изменяю устаревший проект asp.net.Я хочу включить прозрачное ведение журнала для некоторых пространств имен, классов и методов.

Я использую EntLib.Могу ли я настроить параметры инъекции полиции для прозрачной регистрации моего приложения?Что я должен сделать для регистрации всех методов в указанном пространстве имен?

Это часть моего web.config.

<policyInjection>
<policies>
  <add name="Policy">
    <matchingRules>
      <add type="Microsoft.Practices.EnterpriseLibrary.PolicyInjection.MatchingRules.NamespaceMatchingRule, Microsoft.Practices.EnterpriseLibrary.PolicyInjection, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        name="Namespace Matching Rule">
        <matches>
          <add match="MyNamespace.*" ignoreCase="true" />
        </matches>
      </add>
    </matchingRules>
    <handlers>
      <add type="Microsoft.Practices.EnterpriseLibrary.Logging.PolicyInjection.LogCallHandler, Microsoft.Practices.EnterpriseLibrary.Logging, Version=5.0.505.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        beforeMessage="+++AOP " afterMessage=" AOP+++" name="Logging Call Handler">
        <categories>
          <add name="General" />
        </categories>
      </add>
    </handlers>
  </add>
</policies>

1 Ответ

0 голосов
/ 22 ноября 2011

Используете ли вы Unity для создания и внедрения классов в MyNamespace?Если это так, попробуйте добавить элемент в свой раздел отображения.

<type type="IMyService" mapTo="MyService">
    <lifetime type="singleton"/>
    <interceptor type="InterfaceInterceptor"/>
    <policyInjection/>
</type>

Вам также необходимо добавить этот раздел Регистрация расширений:

<sectionExtension type="Microsoft.Practices.Unity.InterceptionExtension.Configuration.InterceptionConfigurationExtension, Microsoft.Practices.Unity.Interception.Configuration"/>
...