public IActionResult Index() { NewRelic.Api.Agent.NewRelic.AddCustomParameter("Discount Code", "Summer Super Sale"); NewRelic.Api.Agent.NewRelic.AddCustomParameter("Item Code", (Single)31456); var tempWorker = new MyWorker(); tempWorker.DoWork(); return(View()); }
private static void Main(string[] args) { // Pipeline that dumps data to WorkPerformed1 WorkPerformedHandler del1 = new WorkPerformedHandler(WorkPerformed1); WorkPerformedHandler del2 = new WorkPerformedHandler(WorkPerformed2); WorkPerformedHandler del3 = new WorkPerformedHandler(WorkPerformed2); del1(5, WorkType.Golf); del2(10, WorkType.GenerateReports); // Pass in deletage - del2 calls WorkPerformed2. It will invoke whatever was passed ie. WorkPerformed2 DoWork(del2); // Adding handlers to Invocation list of Delegate1 // Whenever del1 fires it will notify WorkPerformed2 and WorkPerformed3 as well del1 += del2; del1 += del3; // I could also do { del1 += del2 + del3 } // Events with Delegates // Attach handlers with delegates // Worker class 3 public events to wire up var worker = new Worker(); // Without using Generic<T> worker.WorkPerformed += new WorkPerformedHandlerDelEvent(worker_WorkPerformed); // Wire event // specifying parameter signature match/pipeline worker.WorkPerfomedT += new EventHandler<WorkPerformedEventArgs>(worker_WorkPerformed); worker.WorkCompleted += worker_WorkCompleted; // Delegate Inference // Worker performs some task that exposes it's events. Whenever event is fired // subscribers (worker_WorkPerformed, worker_WorkCompleted) will be notified // Start work worker.DoWork(3, WorkType.GoToMeeting); // Testing class MyWorker w = new MyWorker(); w.AttachListenerToMe += MyWorkerNotified; // Using Func with Events // Can't do this //w.AttachListenerToMe += Action<object, EventArgs> = (o, e) => // { // Console.WriteLine(); // }; string stringResult = w.DoWork(); Console.Read(); }