Changeset 6998


Ignore:
Timestamp:
11/16/11 13:52:11 (8 years ago)
Author:
ascheibe
Message:

#1672 Changed again how plugin discovery works because of Hive. The reason is that it must be possible to move the plugin and working directories away from the original slave working directory. This is needed for the Slave App and also in the future for the windows service because we don't want it to run as the LocalSystem user.
I have removed setting the PrivateBinPath and am now setting the ApplicationBase. This doesn't effect HL (because ApplicationBase is set by default to pluginDir anyway) but makes Hive work. The reason why setting the PrivateBinPath doesn't work with moving plugin and working directories is (from msdn): "Private assemblies are deployed in the same directory structure as the application. If the directories specified for PrivateBinPath are not under ApplicationBase, they are ignored."

Location:
trunk/sources
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Clients.Hive.Slave/3.3/Core.cs

    r6994 r6998  
    406406    #region Log Events
    407407    private void log_MessageAdded(object sender, EventArgs<string> e) {
    408       clientCom.LogMessage(e.Value.Split('\t')[1]);
     408      try {
     409        clientCom.LogMessage(e.Value.Split('\t')[1]);
     410      }
     411      catch { }
    409412    }
    410413    #endregion
  • trunk/sources/HeuristicLab.PluginInfrastructure/3.3/Manager/PluginManager.cs

    r5703 r6998  
    7474      OnInitializing(PluginInfrastructureEventArgs.Empty);
    7575      AppDomainSetup setup = AppDomain.CurrentDomain.SetupInformation;
    76       setup.PrivateBinPath = pluginDir;
    77       // probing should only occur in PrivateBinPath (not in ApplicationBase). This is enforced by the value string.Empty
    78       setup.PrivateBinPathProbe = string.Empty;
     76      setup.ApplicationBase = pluginDir;
    7977      AppDomain pluginDomain = null;
    8078      try {
     
    207205    /// </summary>
    208206    /// <returns><c>null</c>.</returns>
    209     [SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.Infrastructure)]
     207    [SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.Infrastructure)]
    210208    public override object InitializeLifetimeService() {
    211209      return null;
Note: See TracChangeset for help on using the changeset viewer.