public void Process(Sandbox sandbox) { try { this._runnerFactory.Run(sandbox.SandboxedAppDomain, this._sandboxMainboardAssemblyName, this._sandboxMainboardTypeName, new object[] { new Prüfungsauftrag { Auftritt = sandbox.Auftritt, HostReferenz = new HostReferenz { AssemblyName = sandbox.HostTyp.Assembly.FullName.Split(new char[] { ',' })[0], TypeName = sandbox.HostTyp.FullName } } }); } finally { AppDomain.Unload(sandbox.SandboxedAppDomain); } }
public void Process(Sandbox sandbox) { Trace.TraceInformation("AppDomain erzeugen"); PermissionSet permissionSet = AppDomain_erzeugen.Create_permission_set_for_sandbox_AppDomain(sandbox.Auftritt.Wettbewerbspfad + "\\" + sandbox.Auftritt.Beitragsverzeichnis); AppDomainSetup info = AppDomain_erzeugen.Create_setup_for_AppDomain(sandbox.Auftritt); StrongName strongName = AppDomain_erzeugen.Get_strong_name_of_assembly(typeof(AppDomainRunner)); StrongName strongName2 = AppDomain_erzeugen.Get_strong_name_of_assembly(sandbox.HostTyp); sandbox.SandboxedAppDomain = AppDomain.CreateDomain("Sandbox", null, info); this.Result(sandbox); }
public void Process(Auftritt auftritt) { Trace.TraceInformation("Host Typ bestimmen: {0}", new object[] { auftritt.Wettbewerbspfad }); string text = auftritt.Wettbewerbspfad + "\\" + this._host_assembly_filename; Assembly hostAssm = Assembly.LoadFile(text); Type[] array = Host_Typ_bestimmen.Host_Typ_in_Assembly_finden(hostAssm); Host_Typ_bestimmen.Host_Typ_validieren(array, text); Sandbox obj = new Sandbox { Auftritt = auftritt, HostTyp = array[0] }; this.Result(obj); }