//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); }
/// <summary> /// Visits the specified function. /// </summary> /// <param name="function">The function.</param> public void Visit(CandleCodeFunction function) { _injector.OnGenerateFunction(_context, function); }