protected override void OnPreProcess(object sender,PreProcessEventArgs args) { ThreadPriority oldPriority = Thread.CurrentThread.Priority; this.SaveSettingForPostProcess ("ThreadPriority",oldPriority); OutputDebugMessage("Setting thread priority from " + oldPriority + " to " + priority); Thread.CurrentThread.Priority = priority; }
protected override void OnPreProcess(object sender,PreProcessEventArgs args) { for (int i = 0; i < howManyTimes-1; i++) { OutputDebugMessage("Executing method #" + i); this.invokeDeclaringMethod(args); } OutputDebugMessage("Executing method #" + (howManyTimes-1)); }
protected override void OnPreProcess(object sender,PreProcessEventArgs args) { try { ServiceConfig config = new ServiceConfig(); config.Transaction=TransactionOption.RequiresNew; config.TrackingAppName="Application Unit Tests"; config.TransactionDescription="Application Unit Tests Transaction"; config.TransactionTimeout=10000; OutputDebugMessage("ENTERING transaction context on method: " + args.MethodCallMessage.MethodBase.Name); ServiceDomain.Enter(config); OutputDebugMessage("ENTRED transaction context on method: " + args.MethodCallMessage.MethodBase.Name); } catch(Exception e) { OutputDebugMessage("Could not enter into a new transaction:\n" + e.ToString()); } }
protected override void OnPreProcess(object sender, PreProcessEventArgs args) { int threadID = AppDomain.GetCurrentThreadId(); if(runningThreads[threadID]!=null || runningThreads.Count>0) { OutputDebugMessage("skipping method run from inside previous runner..."); return ; } else { runningThreads[threadID]="some not null value"; } OutputDebugMessage(threadID + ": Preparing to run method on separate thread and join it afterwards..."); CrossThreadRunner runner = new CrossThreadRunner(args.TargetObject,args.MethodCallMessage.MethodBase,args.MethodCallMessage.Args); runner.Run(); OutputDebugMessage("Ran it on a separate thread...skipping actual method invocation on current thread"); this.FlagCurrentMethodToBeSkipped(args); }
protected abstract void OnPreProcess(object sender, PreProcessEventArgs args);
public void PreProcess(object sender,PreProcessEventArgs args) { OnPreProcess(sender,args); }
protected override void OnPreProcess(object sender, PreProcessEventArgs args) { items[name] = data; }
private void PreProcess(ref IMethodCallMessage callMessage) { ArrayList attrs = getMethodCallCustomAttributes(callMessage); ArrayList newCallMessages = new ArrayList(); for(int i=0;i<attrs.Count;i++) { PreProcessEventArgs args = new PreProcessEventArgs(m_target,callMessage); ((BaseProcessingAttribute)attrs[i]).PreProcess(this,args); //currently handles only a case where one attribute changes the //value of an inside parameter if(args.HasNewParameterValues) { //this should contain a MEthodCallMEssageWrapper object with new parameter values newCallMessages.Add(args.MethodCallMessage); } } if(newCallMessages.Count==1) { callMessage = (IMethodCallMessage) newCallMessages[0]; } if(newCallMessages.Count>1) { combineMultipleNewParamValuesIntoNewMessage (newCallMessages, ref callMessage); } }
protected override void OnPreProcess(object sender,PreProcessEventArgs args) { this.FlagCurrentMethodToBeSkipped(args); OutputDebugMessage("Skipping method " + args.MethodCallMessage.MethodName); }
protected override void OnPreProcess(object sender,PreProcessEventArgs args) { OutputDebugMessage("ENTERING method: " + args.MethodCallMessage.MethodBase.Name); }