Guest User

Untitled

a guest
Jul 17th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.73 KB | None | 0 0
  1. JobDetail job = new JobDetail("remotelyAddedJob", "default", typeof(DummyJob.DummyJob));
  2.  
  3. <job-type>Quartz.Job.NoOpJob, Quartz</job-type>
  4.  
  5. using System;
  6. using Quartz;
  7. using System.Reflection;
  8. using System.Reflection.Emit;
  9.  
  10. namespace TestQuartzTaskCreator {
  11. public class FakeJob {
  12. public static Type Create(string assemblyName, string typeName){
  13. AssemblyName aName = new AssemblyName(assemblyName);
  14. AssemblyBuilder ab = AppDomain.CurrentDomain.DefineDynamicAssembly(
  15. aName,
  16. AssemblyBuilderAccess.RunAndSave);
  17.  
  18. ModuleBuilder mb = ab.DefineDynamicModule(aName.Name, aName.Name + ".dll");
  19.  
  20. TypeBuilder tb = mb.DefineType(typeName, TypeAttributes.Public);
  21.  
  22. tb.AddInterfaceImplementation(typeof(IJob));
  23.  
  24. MethodBuilder meth = tb.DefineMethod(
  25. "Execute",
  26. MethodAttributes.Public | MethodAttributes.Virtual,
  27. typeof(void),
  28. new Type[] { typeof(JobExecutionContext) });
  29.  
  30. meth.DefineParameter(1,
  31. ParameterAttributes.In,
  32. "context");
  33.  
  34. ILGenerator methIL = meth.GetILGenerator();
  35. methIL.Emit(OpCodes.Ldarg_0);
  36.  
  37. Type t = null;
  38. try {
  39. // Finish the type.
  40. t = tb.CreateType();
  41. }
  42. catch (Exception ex) {
  43. System.Console.WriteLine(ex.ToString());
  44. }
  45.  
  46. // ab.Save(aName.Name + ".dll");
  47.  
  48. return t;
  49. }
  50. }
  51. }
  52.  
  53. JobDetail job = new JobDetail("remotelyAddedJob", "default", typeof(TestType));
  54.  
  55. JobDetail job = new JobDetail("remotelyAddedJob", "default", FakeJob.Create("TestAss", "TestType"));
Add Comment
Please, Sign In to add comment