Exemple #1
0
        //public static void RemoveAttributeIfExists(DSLFactory.Candle.SystemModel.CodeGeneration.CodeModel.CandleCodeFunction function)
        //{
        //    function.RemoveAttributeIfExists("Microsoft.Practices.EnterpriseLibrary.PolicyInjection.CallHandlers.PerformanceCounterCallHandler");
        //}

        public void SetAttribute(CodeInjectionContext context, DSLFactory.Candle.SystemModel.CodeGeneration.CodeModel.CandleCodeFunction function)
        {
            Dictionary <string, string> args = new Dictionary <string, string>();

            args.Add(CandleCodeElement.EmptyAttributeNameSig + "0", "\"" + categoryName + "\"");
            args.Add(CandleCodeElement.EmptyAttributeNameSig + "1", "\"" + instanceName + "\"");
            if (incrementAverageCallDuration)
            {
                args.Add("IncrementAverageCallDuration", "true");
            }
            if (incrementCallsPerSecond)
            {
                args.Add("IncrementCallsPerSecond", "true");
            }
            if (incrementExceptionsPerSecond)
            {
                args.Add("IncrementExceptionsPerSecond", "true");
            }
            if (incrementNumberOfCalls)
            {
                args.Add("IncrementNumberOfCalls", "true");
            }
            if (incrementTotalExceptions)
            {
                args.Add("IncrementTotalExceptions", "true");
            }
            if (useTotalCounter)
            {
                args.Add("UseTotalCounter", "true");
            }

            function.AddAttribute("Microsoft.Practices.EnterpriseLibrary.PolicyInjection.CallHandlers.PerformanceCounterCallHandler",
                                  context.Strategy.StrategyId,
                                  false,
                                  args);
        }
Exemple #2
0
 /// <summary>
 /// Visits the specified function.
 /// </summary>
 /// <param name="function">The function.</param>
 public void Visit(CandleCodeFunction function)
 {
     _injector.OnGenerateFunction(_context, function);
 }