public void Process(Prüfungsauftrag auftrag)
 {
     Trace.TraceInformation("Host prüft Beitrag: {0} / {1} in AppDomain {2}", new object[]
     {
         auftrag.Host.GetType().FullName,
         Path.GetFileName(auftrag.Auftritt.Beitragsverzeichnis),
         AppDomain.CurrentDomain.FriendlyName
     });
     try
     {
         auftrag.Host.Anfang += this.Anfang;
         auftrag.Host.Ende += this.Ende;
         auftrag.Host.Status += this.Status;
         auftrag.Host.Fehler += this.Fehler;
         auftrag.Host.Prüfen(auftrag.Beitrag, auftrag.Auftritt.Wettbewerbspfad, auftrag.Auftritt.Beitragsverzeichnis);
     }
     catch (Exception fehler)
     {
         this.Fehler(new Prüfungsfehler
         {
             Fehler = fehler
         });
     }
     finally
     {
         auftrag.Host.Anfang -= this.Anfang;
         auftrag.Host.Ende -= this.Ende;
         auftrag.Host.Status -= this.Status;
         auftrag.Host.Fehler -= this.Fehler;
     }
 }
 public void Process(Prüfungsauftrag auftrag)
 {
     Trace.TraceInformation("Host instanzieren: {0}; {1}", new object[]
     {
         auftrag.HostReferenz.AssemblyName,
         auftrag.HostReferenz.TypeName
     });
     auftrag.Host = (IHost)Activator.CreateInstance(auftrag.HostReferenz.AssemblyName, auftrag.HostReferenz.TypeName).Unwrap();
     this.Result(auftrag);
 }
 public void Process(Prüfungsauftrag auftrag)
 {
     Trace.TraceInformation("Beitrag in AppDomain laden: {0}, {1}, {2} in {3}", new object[]
     {
         auftrag.Auftritt.Beitragsverzeichnis,
         this._submission_assembly_filename,
         this._submission_typename,
         AppDomain.CurrentDomain.FriendlyName
     });
     auftrag.Beitrag = Activator.CreateInstance(this._submission_assembly_filename, this._submission_typename).Unwrap();
     this.Result(auftrag);
 }