zoukankan      html  css  js  c++  java
  • Teddy's Aspect Weaver Version 0.2 with Additional Custom Attribute Way Configuration


    1. Introduction

    In Build a More Powerful AOP Framework Based on AspectDNG's ILML Library - Teddy's Aspect Weaver, I built the Teddy's Aspect Weaver Version 0.1 with the xml based meta way configuration support. And this time, in version 0.2, I provide the addtional custom attribute way configuration support. You can use both meta way and custom attribute way configuration in even one weaving project.

    Below is the usage sample:

    Configuration

    <?xml version="1.0" encoding="utf-8" ?> 
    <Configuration logFile="LogWeaving.xml" cleanTempFiles="false">
        
    <BaseAssembly>..\TestLib\bin\Debug\TestLib.dll</BaseAssembly>
        
    <OutputAssembly>..\TestLib\bin\Debug\TestLib_output.dll</OutputAssembly>
        
    <AspectAssemblies>
            
    <AspectAssembly uniqueName="TestAspectLib.dll" path="bin\Debug\TestAspectLib.dll" />
        
    </AspectAssemblies>
    </Configuration>

    TestAspectClass.cs

    using System;
    using AspectWeaver.Attributes;

    namespace TestAspectLib
    {
        
    public class TestAspectClass
        
    {
            [Introduce(
    "//Type[@name='TestClass']")]
            
    private string fieldToBeIntroducedByCustomAttribute = "fieldToBeIntroducedByCustomAttribute";

            [Introduce(
    "//Type[@name='TestClass']")]
            
    public void MethodToBeIntrodcuedByCustomAttribute()
            
    {
            }

        }


        [Introduce()]
        
    public class ClassToBeIntroducedByCustomAttribute
        
    {
        }

    }


    This sample is part of sample with both meta way and custom attribute way configuration within AspectWeaver0.2 source code. Be careful, don't define the same advice both in meta xml and custom attribute, or that may cause error. And only the advices with a code element can be configurated with the new custom attribute way. Advices can be configurated by the new way are: Introduce, BeforeConstructor/AfterConstructor, BeforeMethodCall/AfterMethodCall, InlineAtStart, InlineBeforeReturn and AroundBody.

    2. Download Source Code

    AspectWeaver0.3.zip
  • 相关阅读:
    ASP.NET中常用的优化性能的方法
    把WinDbg集成到Visual Studio中
    提高ASP.net的性能
    Msn Library
    [转帖]OutOfMemoryException问题的处理
    一完美的关于请求的目录不存在而需要url重写的解决方案!
    在 ASP.NET 中执行 URL 重写
    转 内存不断上升处理方法
    IIS 6 通配符应用映射和HttpHandler配置
    Java开源
  • 原文地址:https://www.cnblogs.com/teddyma/p/243208.html
Copyright © 2011-2022 走看看