Пример #1
0
 static public void DomainUnloadHandler(object sender, EventArgs args)
 {
     try
     {
         AppDomain           ad   = sender as AppDomain;
         IDomainMasterEvents sink = ad.GetData("Sink") as IDomainMasterEvents;
         if (sink != null)
         {
             sink.OnDomainUnload(ad.FriendlyName);
         }
     }
     catch (Exception e)
     {
         Console.WriteLine("{1}\n{2}", e.Message, e.StackTrace);
     }
 }
Пример #2
0
 static public void AssemblyLoadHandler(object sender, AssemblyLoadEventArgs args)
 {
     Debug.Assert(sender as _AppDomain == AppDomain.CurrentDomain);
     try
     {
         AppDomain           ad   = sender as AppDomain;
         IDomainMasterEvents sink = ad.GetData("Sink") as IDomainMasterEvents;
         if (sink != null)
         {
             string assembly = args.LoadedAssembly.GetName().Name;
             sink.OnAssemblyLoad(ad.FriendlyName, assembly);
         }
     }
     catch (Exception e)
     {
         Console.WriteLine("{1}\n{2}", e.Message, e.StackTrace);
     }
 }
Пример #3
0
 public void AttachSink(IDomainMasterEvents sink)
 {
     m_sink = sink;
 }