Free cookie consent management tool by TermsFeed Policy Generator

Changeset 3179


Ignore:
Timestamp:
03/22/10 16:53:27 (14 years ago)
Author:
gkronber
Message:

Improved controls for deployment service interaction.
Increased max values for message sizes and related limits in the deployment service configuration.
Recreated proxy classes for the deployment service.

#891 (Refactor GUI for plugin management)

Location:
trunk/sources
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.PluginAdministrator/3.3/MainForm.cs

    r3081 r3179  
    2929  internal class MainForm : DockingMainForm {
    3030    private System.Windows.Forms.ToolStripProgressBar progressBar;
    31 
     31    private System.Windows.Forms.ToolStripLabel statusLabel;
    3232    public MainForm(Type type)
    3333      : base(type) {
     
    4141
    4242    private void InitializeComponent() {
     43      this.progressBar = new System.Windows.Forms.ToolStripProgressBar();
     44      this.statusLabel = new System.Windows.Forms.ToolStripLabel();
    4345      this.SuspendLayout();
     46      //
     47      // progressBar
     48      //
     49      this.progressBar.MarqueeAnimationSpeed = 30;
     50      this.progressBar.Name = "progressBar";
     51      this.progressBar.Size = new System.Drawing.Size(100, 16);
     52      this.progressBar.Style = System.Windows.Forms.ProgressBarStyle.Marquee;
     53      this.progressBar.Visible = false;
    4454
    45       progressBar = new System.Windows.Forms.ToolStripProgressBar();
    46       progressBar.MarqueeAnimationSpeed = 30;
    47       progressBar.Style = System.Windows.Forms.ProgressBarStyle.Marquee;
    48       progressBar.Visible = false;
    49       statusStrip.Items.Add(progressBar);
     55      this.statusLabel.Name = "statusLabel";
     56      this.statusLabel.Visible = true;
    5057      //
    5158      // MainForm
     
    5663      this.ResumeLayout(false);
    5764      this.PerformLayout();
     65
    5866    }
    5967
     
    6573      progressBar.Visible = false;
    6674    }
     75
     76    public void SetStatusBarText(string msg) {
     77      statusLabel.Text = msg;
     78    }
    6779  }
    6880}
  • trunk/sources/HeuristicLab.PluginAdministrator/3.3/PluginEditor.cs

    r3081 r3179  
    133133
    134134        foreach (var plugin in IteratePlugins(selectedPlugins)) {
     135          SetMainFormStatusBar("Uploading", plugin);
    135136          adminClient.DeployPlugin(MakePluginDescription(plugin), CreateZipPackage(plugin));
    136137        }
     
    144145      }
    145146    }
     147
    146148    #endregion
    147149
     
    187189          var plugin = (IPluginDescription)item.Tag;
    188190          // also check all dependencies
    189           modifiedPlugins.Add(plugin);
     191          if (!modifiedPlugins.Contains(plugin))
     192            modifiedPlugins.Add(plugin);
    190193          foreach (var dep in GetAllDependencies(plugin)) {
    191             modifiedPlugins.Add(dep);
     194            if (!modifiedPlugins.Contains(dep))
     195              modifiedPlugins.Add(dep);
    192196          }
    193197        }
     
    197201          var plugin = (IPluginDescription)item.Tag;
    198202          // also uncheck all dependent plugins
    199           modifiedPlugins.Add(plugin);
     203          if (!modifiedPlugins.Contains(plugin))
     204            modifiedPlugins.Add(plugin);
    200205          foreach (var dep in GetAllDependents(plugin)) {
    201             modifiedPlugins.Add(dep);
     206            if (!modifiedPlugins.Contains(dep))
     207              modifiedPlugins.Add(dep);
    202208          }
    203209        }
     
    231237
    232238    private IEnumerable<IPluginDescription> IteratePlugins(IEnumerable<IPluginDescription> plugins) {
     239      HashSet<IPluginDescription> yieldedItems = new HashSet<IPluginDescription>();
    233240      foreach (var plugin in plugins) {
    234241        foreach (var dependency in IteratePlugins(plugin.Dependencies)) {
    235           yield return dependency;
    236         }
    237         yield return plugin;
     242          if (!yieldedItems.Contains(dependency)) {
     243            yieldedItems.Add(dependency);
     244            yield return dependency;
     245          }
     246        }
     247        if (!yieldedItems.Contains(plugin)) {
     248          yieldedItems.Add(plugin);
     249          yield return plugin;
     250        }
    238251      }
    239252    }
     
    309322      MainFormManager.GetMainForm<MainForm>().HideProgressBar();
    310323    }
     324    private void SetMainFormStatusBar(string p, IPluginDescription plugin) {
     325      if (InvokeRequired) Invoke((Action<string, IPluginDescription>)SetMainFormStatusBar, p, plugin);
     326      else {
     327        MainFormManager.GetMainForm<MainForm>().SetStatusBarText(p + " " + plugin.ToString());
     328      }
     329    }
     330
    311331    #endregion
    312332  }
  • trunk/sources/HeuristicLab.PluginAdministrator/3.3/PluginListView.cs

    r3081 r3179  
    4747    }
    4848
    49     private List<IPluginDescription> checkedPlugins = new List<IPluginDescription>();
     49    private Dictionary<IPluginDescription, bool> checkedPlugins = new Dictionary<IPluginDescription, bool>();
    5050    public IEnumerable<IPluginDescription> CheckedPlugins {
    5151      get {
    52         return checkedPlugins;
     52        return from pair in checkedPlugins
     53               where pair.Value
     54               select pair.Key;
    5355      }
    5456    }
     
    7779    private ListViewItem CreateListViewItem(IPluginDescription plugin) {
    7880      var item = new ListViewItem(new string[] { plugin.Name, plugin.Version.ToString() });
    79       item.Checked = (from p in checkedPlugins where p.Name == plugin.Name where p.Version == plugin.Version select p).Any();
     81      item.Checked = checkedPlugins.ContainsKey(plugin) ? checkedPlugins[plugin] : false;
    8082      item.Tag = plugin;
    8183      return item;
     
    8991          // also check all dependencies
    9092          MarkPluginChecked(plugin);
    91           modifiedPlugins.Add(plugin);
     93          if (!modifiedPlugins.Contains(plugin))
     94            modifiedPlugins.Add(plugin);
    9295          foreach (var dep in GetAllDependencies(plugin)) {
    9396            MarkPluginChecked(dep);
    94             modifiedPlugins.Add(dep);
     97            if (!modifiedPlugins.Contains(dep))
     98              modifiedPlugins.Add(dep);
    9599          }
    96100        }
     
    102106          // also uncheck all dependent plugins
    103107          MarkPluginUnchecked(plugin);
    104           modifiedPlugins.Add(plugin);
     108          if (!modifiedPlugins.Contains(plugin))
     109            modifiedPlugins.Add(plugin);
    105110          foreach (var dep in GetAllDependents(plugin)) {
    106111            MarkPluginUnchecked(dep);
    107             modifiedPlugins.Add(dep);
     112            if (!modifiedPlugins.Contains(dep))
     113              modifiedPlugins.Add(dep);
    108114          }
    109115
     
    115121
    116122    private void MarkPluginChecked(IPluginDescription plugin) {
    117       var matching = from p in checkedPlugins
    118                      where p.Name == plugin.Name
    119                      where p.Version == plugin.Version
    120                      select p;
    121       if (!matching.Any()) checkedPlugins.Add(plugin);
     123      checkedPlugins[plugin] = true;
    122124    }
    123125
    124126    private void MarkPluginUnchecked(IPluginDescription plugin) {
    125       checkedPlugins = (from p in checkedPlugins
    126                         where p.Name != plugin.Name ||
    127                               p.Version != plugin.Version
    128                         select p).ToList();
     127      checkedPlugins[plugin] = false;
    129128    }
    130129
     
    148147
    149148    private IEnumerable<IPluginDescription> GetAllDependencies(IPluginDescription plugin) {
     149      HashSet<IPluginDescription> yieldedPlugins = new HashSet<IPluginDescription>();
    150150      foreach (var dep in plugin.Dependencies) {
    151151        foreach (var recDep in GetAllDependencies(dep)) {
    152           yield return recDep;
     152          if (!yieldedPlugins.Contains(recDep)) {
     153            yieldedPlugins.Add(recDep);
     154            yield return recDep;
     155          }
    153156        }
    154         yield return dep;
     157        if (!yieldedPlugins.Contains(dep)) {
     158          yieldedPlugins.Add(dep);
     159          yield return dep;
     160        }
    155161      }
    156162    }
  • trunk/sources/HeuristicLab.PluginAdministrator/3.3/ProductEditor.Designer.cs

    r3081 r3179  
    5454      this.productVersionHeader = new System.Windows.Forms.ColumnHeader();
    5555      this.productImageList = new System.Windows.Forms.ImageList(this.components);
    56       this.pluginImageList = new System.Windows.Forms.ImageList(this.components);
     56      this.pluginListView = new HeuristicLab.PluginAdministrator.PluginListView();
    5757      this.pluginsLabel = new System.Windows.Forms.Label();
    5858      this.versionTextBox = new System.Windows.Forms.TextBox();
     
    6060      this.nameTextBox = new System.Windows.Forms.TextBox();
    6161      this.nameLabel = new System.Windows.Forms.Label();
     62      this.pluginImageList = new System.Windows.Forms.ImageList(this.components);
    6263      this.errorProvider = new System.Windows.Forms.ErrorProvider(this.components);
    63       this.pluginListView = new PluginListView();
    6464      this.splitContainer.Panel1.SuspendLayout();
    6565      this.splitContainer.Panel2.SuspendLayout();
     
    8181      //
    8282      this.saveButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
     83      this.saveButton.Enabled = false;
    8384      this.saveButton.Location = new System.Drawing.Point(3, 365);
    8485      this.saveButton.Name = "saveButton";
     
    9192      // newProductButton
    9293      //
     94      this.newProductButton.Enabled = false;
    9395      this.newProductButton.Location = new System.Drawing.Point(84, 3);
    9496      this.newProductButton.Name = "newProductButton";
     
    132134            this.productNameHeader,
    133135            this.productVersionHeader});
     136      this.productsListView.Enabled = false;
    134137      this.productsListView.FullRowSelect = true;
    135138      this.productsListView.Location = new System.Drawing.Point(3, 3);
     
    159162      this.productImageList.TransparentColor = System.Drawing.Color.Transparent;
    160163      //
    161       // pluginImageList
    162       //
    163       this.pluginImageList.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;
    164       this.pluginImageList.ImageSize = new System.Drawing.Size(16, 16);
    165       this.pluginImageList.TransparentColor = System.Drawing.Color.Transparent;
     164      // pluginListView
     165      //
     166      this.pluginListView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
     167                  | System.Windows.Forms.AnchorStyles.Left)
     168                  | System.Windows.Forms.AnchorStyles.Right)));
     169      this.pluginListView.Enabled = false;
     170      this.pluginListView.Location = new System.Drawing.Point(3, 85);
     171      this.pluginListView.Name = "pluginListView";
     172      this.pluginListView.Plugins = null;
     173      this.pluginListView.Size = new System.Drawing.Size(330, 303);
     174      this.pluginListView.TabIndex = 7;
     175      this.pluginListView.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.pluginListView_ItemChecked);
    166176      //
    167177      // pluginsLabel
     
    178188      this.versionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    179189                  | System.Windows.Forms.AnchorStyles.Right)));
     190      this.versionTextBox.Enabled = false;
    180191      this.versionTextBox.Location = new System.Drawing.Point(68, 29);
    181192      this.versionTextBox.Name = "versionTextBox";
     
    187198      //
    188199      this.versionLabel.AutoSize = true;
     200      this.versionLabel.Enabled = false;
    189201      this.versionLabel.Location = new System.Drawing.Point(10, 32);
    190202      this.versionLabel.Name = "versionLabel";
     
    197209      this.nameTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
    198210                  | System.Windows.Forms.AnchorStyles.Right)));
     211      this.nameTextBox.Enabled = false;
    199212      this.nameTextBox.Location = new System.Drawing.Point(68, 3);
    200213      this.nameTextBox.Name = "nameTextBox";
     
    206219      //
    207220      this.nameLabel.AutoSize = true;
     221      this.nameLabel.Enabled = false;
    208222      this.nameLabel.Location = new System.Drawing.Point(17, 6);
    209223      this.nameLabel.Name = "nameLabel";
     
    212226      this.nameLabel.Text = "Name:";
    213227      //
     228      // pluginImageList
     229      //
     230      this.pluginImageList.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;
     231      this.pluginImageList.ImageSize = new System.Drawing.Size(16, 16);
     232      this.pluginImageList.TransparentColor = System.Drawing.Color.Transparent;
     233      //
    214234      // errorProvider
    215235      //
    216236      this.errorProvider.ContainerControl = this;
    217       //
    218       // pluginListView
    219       //
    220       this.pluginListView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    221                   | System.Windows.Forms.AnchorStyles.Left)
    222                   | System.Windows.Forms.AnchorStyles.Right)));
    223       this.pluginListView.Location = new System.Drawing.Point(3, 85);
    224       this.pluginListView.Name = "pluginListView";
    225       this.pluginListView.Plugins = null;
    226       this.pluginListView.Size = new System.Drawing.Size(330, 303);
    227       this.pluginListView.TabIndex = 7;
    228       this.pluginListView.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.pluginListView_ItemChecked);
    229237      //
    230238      // ProductEditor
  • trunk/sources/HeuristicLab.PluginAdministrator/3.3/ProductEditor.cs

    r3081 r3179  
    9191
    9292    private void refreshProductsWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) {
    93       this.products = new List<PluginDeploymentService.ProductDescription>(
    94         (PluginDeploymentService.ProductDescription[])((object[])e.Result)[0]);
    95       this.plugins = new List<PluginDeploymentService.PluginDescription>(
    96         (PluginDeploymentService.PluginDescription[])((object[])e.Result)[1]);
    97 
    98       UpdateProductsList();
    99       dirtyProducts.Clear();
    100 
    101       Cursor = Cursors.Default;
    102       SetControlsEnabled(true);
     93      if (!e.Cancelled && e.Result != null) {
     94        this.products = new List<PluginDeploymentService.ProductDescription>(
     95          (PluginDeploymentService.ProductDescription[])((object[])e.Result)[0]);
     96        this.plugins = new List<PluginDeploymentService.PluginDescription>(
     97          (PluginDeploymentService.PluginDescription[])((object[])e.Result)[1]);
     98
     99        UpdateProductsList();
     100        dirtyProducts.Clear();
     101
     102        Cursor = Cursors.Default;
     103        SetControlsEnabled(true);
     104      }
    103105    }
    104106    #endregion
     
    136138      newProductButton.Enabled = enabled;
    137139      splitContainer.Enabled = enabled;
     140      productsListView.Enabled = enabled;
     141      nameLabel.Enabled = enabled;
     142      nameTextBox.Enabled = enabled;
     143      versionLabel.Enabled = enabled;
     144      versionTextBox.Enabled = enabled;
     145      pluginListView.Enabled = enabled;
    138146    }
    139147
  • trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/DeploymentService/DeploymentService.cs

    r3092 r3179  
    1 #pragma warning disable 1591
    2 //------------------------------------------------------------------------------
     1//------------------------------------------------------------------------------
    32// <auto-generated>
    43//     This code was generated by a tool.
     
    314313    }
    315314}
    316 #pragma warning restore 1591
  • trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/DeploymentService/PluginDescription.cs

    r3092 r3179  
    104104      return Name + " " + Version;
    105105    }
     106
     107    public override bool Equals(object obj) {
     108      PluginDescription other = obj as PluginDescription;
     109      if (other == null) return false;
     110      else return other.Name == this.Name && other.Version == this.Version;
     111    }
     112
     113    public override int GetHashCode() {
     114      return Name.GetHashCode() + Version.GetHashCode();
     115    }
    106116  }
    107117}
  • trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/DeploymentService/RegenerateServiceClasses.cmd

    r3006 r3179  
    11#
    2 svcutil http://servdev.heuristiclab.com/Deployment/Update.svc/mex http://servdev.heuristiclab.com/Deployment/Admin.svc/mex  /language:C# /targetClientVersion:Version35 /out:DeploymentService /namespace:*,HeuristicLab.PluginInfrastructure.Advanced.DeploymentService /mergeConfig /config:../../app.config
     2svcutil http://servdev.heuristiclab.com/Deployment-3.3/Update.svc/mex http://servdev.heuristiclab.com/Deployment-3.3/Admin.svc/mex  /language:C# /targetClientVersion:Version35 /out:DeploymentService /namespace:*,HeuristicLab.PluginInfrastructure.Advanced.DeploymentService /mergeConfig /config:../../app.config
  • trunk/sources/HeuristicLab.PluginInfrastructure/Advanced/InstallationManagerForm.cs

    r3090 r3179  
    336336      Cursor = Cursors.AppStarting;
    337337      toolStripProgressBar.Visible = true;
    338       DisableControls();
     338      refreshButton.Enabled = false;
    339339      refreshServerPluginsBackgroundWorker.RunWorkerAsync();
    340340    }
     
    378378      (new ConnectionSetupView()).ShowInForm();
    379379    }
     380
     381    protected override void OnClosing(CancelEventArgs e) {
     382      installationManager.PluginInstalled -= new EventHandler<PluginInfrastructureEventArgs>(installationManager_PluginInstalled);
     383      installationManager.PluginRemoved -= new EventHandler<PluginInfrastructureEventArgs>(installationManager_PluginRemoved);
     384      installationManager.PluginUpdated -= new EventHandler<PluginInfrastructureEventArgs>(installationManager_PluginUpdated);
     385      installationManager.PreInstallPlugin -= new EventHandler<PluginInfrastructureCancelEventArgs>(installationManager_PreInstallPlugin);
     386      installationManager.PreRemovePlugin -= new EventHandler<PluginInfrastructureCancelEventArgs>(installationManager_PreRemovePlugin);
     387      installationManager.PreUpdatePlugin -= new EventHandler<PluginInfrastructureCancelEventArgs>(installationManager_PreUpdatePlugin);
     388      base.OnClosing(e);
     389    }
    380390  }
    381391}
  • trunk/sources/HeuristicLab.PluginInfrastructure/Manager/PluginInfrastructureEventArgs.cs

    r3046 r3179  
    2525
    2626namespace HeuristicLab.PluginInfrastructure.Manager {
    27   // to be replaced by GenericEventArgs
    2827  [Serializable]
    2928  internal sealed class PluginInfrastructureEventArgs : EventArgs {
  • trunk/sources/HeuristicLab.PluginInfrastructure/app.config

    r3112 r3179  
    2020    </applicationSettings>
    2121    <system.serviceModel>
     22        <behaviors>
     23            <endpointBehaviors>
     24                <behavior name="SerializationBehavior">
     25                    <dataContractSerializer maxItemsInObjectGraph="1000000" />
     26                </behavior>
     27            </endpointBehaviors>
     28        </behaviors>
    2229        <bindings>
    2330            <wsHttpBinding>
    24                 <binding name="WSHttpBinding_IUpdate" closeTimeout="00:01:00"
     31                <binding name="WSHttpBinding_IUpdate1" closeTimeout="00:01:00"
    2532                    openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
    2633                    bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
    27                     maxBufferPoolSize="524288" maxReceivedMessageSize="10000000"
     34                    maxBufferPoolSize="524288" maxReceivedMessageSize="200000000"
    2835                    messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
    2936                    allowCookies="false">
    30                     <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="10000000"
     37                    <readerQuotas maxDepth="32" maxStringContentLength="32000" maxArrayLength="200000000"
    3138                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
    3239                    <reliableSession ordered="true" inactivityTimeout="00:10:00"
     
    3946                    </security>
    4047                </binding>
    41                 <binding name="WSHttpBinding_IAdmin" closeTimeout="00:01:00"
     48                <binding name="WSHttpBinding_IAdmin1" closeTimeout="00:01:00"
    4249                    openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
    4350                    bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
    44                     maxBufferPoolSize="524288" maxReceivedMessageSize="10000000"
     51                    maxBufferPoolSize="524288" maxReceivedMessageSize="200000000"
    4552                    messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
    4653                    allowCookies="false">
    47                     <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="10000000"
     54                    <readerQuotas maxDepth="32" maxStringContentLength="32000" maxArrayLength="200000000"
    4855                        maxBytesPerRead="4096" maxNameTableCharCount="16384" />
    4956                    <reliableSession ordered="true" inactivityTimeout="00:10:00"
     
    6067        <client>
    6168            <endpoint address="http://servdev.heuristiclab.com/Deployment-3.3/Update.svc"
    62                 binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IUpdate"
    63                 contract="HeuristicLab.PluginInfrastructure.Advanced.DeploymentService.IUpdate"
    64                 name="WSHttpBinding_IUpdate">
     69                behaviorConfiguration="SerializationBehavior" binding="wsHttpBinding"
     70                bindingConfiguration="WSHttpBinding_IUpdate1" contract="HeuristicLab.PluginInfrastructure.Advanced.DeploymentService.IUpdate"
     71                name="WSHttpBinding_IUpdate1">
    6572                <identity>
    6673                    <certificate encodedValue="AwAAAAEAAAAUAAAAFhNc5P5CrrUsDAETV1gq2wDRXQ0gAAAAAQAAACcCAAAwggIjMIIBjKADAgECAhCnTkk2TwtajEKLiJLyjCpwMA0GCSqGSIb3DQEBBAUAMCMxITAfBgNVBAMTGHNlcnZkZXYuaGV1cmlzdGljbGFiLmNvbTAeFw0xMDAzMTAxNTI4MTJaFw0zOTEyMzEyMzU5NTlaMCMxITAfBgNVBAMTGHNlcnZkZXYuaGV1cmlzdGljbGFiLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArJSMi2lAXj/Z9sMiLjiUmqUfNSfozaio/mjR6PxbDPBWZp6xTFdDLnBx+kHMBp+gc75hMI6wCFHB8PYud8tHMgJFDssGBUZkEN2vFZ0h41efyXo9U0o90KVFWFBQWOz+Opnalqohh8qHnOczo1zabeLFf79pC81Y6QGNkSyQcikCAwEAAaNYMFYwVAYDVR0BBE0wS4AQ1x+ArbPOrv0XwUivnGidCKElMCMxITAfBgNVBAMTGHNlcnZkZXYuaGV1cmlzdGljbGFiLmNvbYIQp05JNk8LWoxCi4iS8owqcDANBgkqhkiG9w0BAQQFAAOBgQBU8cGNgEnkWLs3v433WBC2Sl6BiPk6IchsqfxECp1Q4j/gqsIe9xRNnjxD5YEj0HGdqjrKBwF8XrOXPgyXQXfM4ju3INGLSJ1WH/oODbgbKnqQ/7TSJ++y1x0lnDgh+ibqjchsrBrqzKfkBNOa4B3g1M9q1eNVDOyGWu7GiZAUTA==" />
     
    6875            </endpoint>
    6976            <endpoint address="http://servdev.heuristiclab.com/Deployment-3.3/Admin.svc"
    70                 binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IAdmin"
    71                 contract="HeuristicLab.PluginInfrastructure.Advanced.DeploymentService.IAdmin"
    72                 name="WSHttpBinding_IAdmin">
     77                behaviorConfiguration="SerializationBehavior" binding="wsHttpBinding"
     78                bindingConfiguration="WSHttpBinding_IAdmin1" contract="HeuristicLab.PluginInfrastructure.Advanced.DeploymentService.IAdmin"
     79                name="WSHttpBinding_IAdmin1">
    7380                <identity>
    7481                    <certificate encodedValue="AwAAAAEAAAAUAAAAFhNc5P5CrrUsDAETV1gq2wDRXQ0gAAAAAQAAACcCAAAwggIjMIIBjKADAgECAhCnTkk2TwtajEKLiJLyjCpwMA0GCSqGSIb3DQEBBAUAMCMxITAfBgNVBAMTGHNlcnZkZXYuaGV1cmlzdGljbGFiLmNvbTAeFw0xMDAzMTAxNTI4MTJaFw0zOTEyMzEyMzU5NTlaMCMxITAfBgNVBAMTGHNlcnZkZXYuaGV1cmlzdGljbGFiLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArJSMi2lAXj/Z9sMiLjiUmqUfNSfozaio/mjR6PxbDPBWZp6xTFdDLnBx+kHMBp+gc75hMI6wCFHB8PYud8tHMgJFDssGBUZkEN2vFZ0h41efyXo9U0o90KVFWFBQWOz+Opnalqohh8qHnOczo1zabeLFf79pC81Y6QGNkSyQcikCAwEAAaNYMFYwVAYDVR0BBE0wS4AQ1x+ArbPOrv0XwUivnGidCKElMCMxITAfBgNVBAMTGHNlcnZkZXYuaGV1cmlzdGljbGFiLmNvbYIQp05JNk8LWoxCi4iS8owqcDANBgkqhkiG9w0BAQQFAAOBgQBU8cGNgEnkWLs3v433WBC2Sl6BiPk6IchsqfxECp1Q4j/gqsIe9xRNnjxD5YEj0HGdqjrKBwF8XrOXPgyXQXfM4ju3INGLSJ1WH/oODbgbKnqQ/7TSJ++y1x0lnDgh+ibqjchsrBrqzKfkBNOa4B3g1M9q1eNVDOyGWu7GiZAUTA==" />
  • trunk/sources/HeuristicLab.Services.Deployment/3.3/App.config

    r3084 r3179  
    1 <?xml version="1.0" encoding="utf-8" ?>
     1<?xml version="1.0" encoding="utf-8"?>
    22<configuration>
    33  <configSections>
    44  </configSections>
    55  <system.diagnostics>
     6    <!-- for logging. Make sure the IIS application user has write access rights for the output directory -->
     7    <!--sources>
     8      <source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing">
     9        <listeners>
     10          <add type="System.Diagnostics.DefaultTraceListener" name="Default">
     11            <filter type="" />
     12          </add>
     13          <add name="ServiceModelMessageLoggingListener">
     14            <filter type="" />
     15          </add>
     16        </listeners>
     17      </source>
     18      <source name="System.ServiceModel" switchValue="Warning, ActivityTracing"
     19        propagateActivity="true">
     20        <listeners>
     21          <add type="System.Diagnostics.DefaultTraceListener" name="Default">
     22            <filter type="" />
     23          </add>
     24          <add name="ServiceModelTraceListener">
     25            <filter type="" />
     26          </add>
     27        </listeners>
     28      </source>
     29    </sources>
     30    <sharedListeners>
     31      <add initializeData="C:\inetpub\wwwroot\Deployment-3.3\web_messages.svclog"
     32        type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
     33        name="ServiceModelMessageLoggingListener" traceOutputOptions="Timestamp">
     34        <filter type="" />
     35      </add>
     36      <add initializeData="C:\inetpub\wwwroot\Deployment-3.3\web_tracelog.svclog"
     37        type="System.Diagnostics.XmlWriterTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
     38        name="ServiceModelTraceListener" traceOutputOptions="Timestamp">
     39        <filter type="" />
     40      </add>
     41    </sharedListeners-->
    642  </system.diagnostics>
    743  <connectionStrings>
    844    <remove name="LocalSqlServer" />
    9     <add name="HeuristicLab.Services.Deployment.DataAccess.Properties.Settings.HeuristicLab_PluginStoreConnectionString"
    10       connectionString="Server=SERVDEV;Database=HeuristicLab.Deployment;Integrated Security=SSPI" />
     45    <add connectionString="Server=SERVDEV;Database=HeuristicLab.Deployment;Integrated Security=SSPI" name="HeuristicLab.Services.Deployment.DataAccess.Properties.Settings.HeuristicLab_PluginStoreConnectionString" />
    1146    <add name="MyLocalSQLServer" connectionString="Initial Catalog=aspnetdb;data source=localhost;Integrated Security=SSPI;" />
    1247  </connectionStrings>
     48  <system.webServer>
     49    <security>
     50      <requestFiltering>
     51        <requestLimits maxAllowedContentLength="100000000"/>
     52      </requestFiltering>
     53    </security>
     54  </system.webServer>
    1355  <system.web>
    1456    <compilation debug="false" />
     57    <httpRuntime maxRequestLength="2097151" />
    1558    <membership defaultProvider="MySqlMembershipProvider">
    1659      <providers>
     
    3275    <bindings>
    3376      <wsHttpBinding>
    34         <binding name="DefaultWsHttpBinding" maxBufferPoolSize="10000000" maxReceivedMessageSize="1000000">
    35           <readerQuotas maxDepth="1000" maxStringContentLength="16000" maxArrayLength="10000000" maxBytesPerRead="10000000" maxNameTableCharCount="16000" />
     77        <binding name="DefaultWsHttpBinding" maxBufferPoolSize="10000000" maxReceivedMessageSize="200000000">
     78          <readerQuotas maxDepth="1000" maxStringContentLength="16000" maxArrayLength="200000000" maxBytesPerRead="200000000" maxNameTableCharCount="16000" />
    3679          <security mode="Message">
    3780            <message clientCredentialType="UserName" />
     
    4487    </bindings>
    4588    <diagnostics performanceCounters="Default">
    46       <messageLogging logMalformedMessages="false" logMessagesAtTransportLevel="false" />
     89      <!--<messageLogging logMalformedMessages="false" logMessagesAtTransportLevel="false" />-->
    4790    </diagnostics>
    4891    <services>
    49       <service behaviorConfiguration="HeuristicLab.Services.Deployment.UpdateBehavior" name="HeuristicLab.Services.Deployment.Update">
    50         <endpoint address="" binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding" contract="HeuristicLab.Services.Deployment.IUpdate">
    51         </endpoint>
    52         <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="DefaultMexHttpBinding" contract="IMetadataExchange" />
     92      <service behaviorConfiguration="HeuristicLab.Services.Deployment.UpdateBehavior"
     93       name="HeuristicLab.Services.Deployment.Update">
     94        <endpoint address="" behaviorConfiguration="SerializationBehavior"
     95         binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding"
     96         contract="HeuristicLab.Services.Deployment.IUpdate" />
     97        <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="DefaultMexHttpBinding"
     98         contract="IMetadataExchange" />
    5399      </service>
    54       <service behaviorConfiguration="HeuristicLab.Services.Deployment.AdminBehavior" name="HeuristicLab.Services.Deployment.Admin">
    55         <endpoint address="" binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding" contract="HeuristicLab.Services.Deployment.IAdmin">
    56         </endpoint>
    57         <endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="DefaultMexHttpBinding" contract="IMetadataExchange" />
     100      <service behaviorConfiguration="HeuristicLab.Services.Deployment.AdminBehavior"
     101       name="HeuristicLab.Services.Deployment.Admin">
     102        <endpoint address="" behaviorConfiguration="SerializationBehavior"
     103         binding="wsHttpBinding" bindingConfiguration="DefaultWsHttpBinding"
     104         contract="HeuristicLab.Services.Deployment.IAdmin" />
     105        <endpoint address="mex" behaviorConfiguration="SerializationBehavior"
     106         binding="mexHttpBinding" bindingConfiguration="DefaultMexHttpBinding"
     107         contract="IMetadataExchange" />
    58108      </service>
    59109    </services>
    60110    <behaviors>
     111      <endpointBehaviors>
     112        <behavior name="SerializationBehavior">
     113          <dataContractSerializer maxItemsInObjectGraph="1000000" />
     114        </behavior>
     115      </endpointBehaviors>
    61116      <serviceBehaviors>
    62117        <behavior name="HeuristicLab.Services.Deployment.UpdateBehavior">
     
    64119          <serviceDebug includeExceptionDetailInFaults="false" />
    65120          <serviceCredentials>
    66             <serviceCertificate findValue="servdev.heuristiclab.com" storeLocation="LocalMachine" storeName="My" x509FindType="FindBySubjectName" />
    67             <userNameAuthentication userNamePasswordValidationMode="MembershipProvider" membershipProviderName="MySqlMembershipProvider" />
     121            <serviceCertificate findValue="servdev.heuristiclab.com" storeLocation="LocalMachine"
     122             storeName="My" x509FindType="FindBySubjectName" />
     123            <userNameAuthentication userNamePasswordValidationMode="MembershipProvider"
     124             membershipProviderName="MySqlMembershipProvider" />
    68125          </serviceCredentials>
    69           <serviceAuthorization principalPermissionMode="UseAspNetRoles" roleProviderName="MySqlRoleProvider" />
     126          <serviceAuthorization principalPermissionMode="UseAspNetRoles"
     127           roleProviderName="MySqlRoleProvider" />
    70128        </behavior>
    71129        <behavior name="HeuristicLab.Services.Deployment.AdminBehavior">
     
    73131          <serviceDebug includeExceptionDetailInFaults="false" />
    74132          <serviceCredentials>
    75             <serviceCertificate findValue="servdev.heuristiclab.com" storeLocation="LocalMachine" storeName="My" x509FindType="FindBySubjectName" />
    76             <userNameAuthentication userNamePasswordValidationMode="MembershipProvider" membershipProviderName="MySqlMembershipProvider" />
     133            <serviceCertificate findValue="servdev.heuristiclab.com" storeLocation="LocalMachine"
     134             storeName="My" x509FindType="FindBySubjectName" />
     135            <userNameAuthentication userNamePasswordValidationMode="MembershipProvider"
     136             membershipProviderName="MySqlMembershipProvider" />
    77137          </serviceCredentials>
    78           <serviceAuthorization principalPermissionMode="UseAspNetRoles" roleProviderName="MySqlRoleProvider" />
     138          <serviceAuthorization principalPermissionMode="UseAspNetRoles"
     139           roleProviderName="MySqlRoleProvider" />
    79140        </behavior>
    80141      </serviceBehaviors>
Note: See TracChangeset for help on using the changeset viewer.