private void ConfigureEndpoint(ConfiguredEndpoint endpoint) { EndpointComIdentity comIdentity = endpoint.ComIdentity; if (comIdentity == null) { comIdentity = new EndpointComIdentity(); comIdentity.Specification = ComSpecification.DA; endpoint.ComIdentity = comIdentity; } string oldProgId = PseudoComServer.CreateProgIdFromUrl(endpoint.ComIdentity.Specification, endpoint.EndpointUrl.ToString()); endpoint = new ConfiguredServerDlg().ShowDialog(endpoint, m_configuration); if (endpoint == null) { return; } if (String.IsNullOrEmpty(comIdentity.ProgId) || oldProgId == comIdentity.ProgId) { comIdentity.ProgId = PseudoComServer.CreateProgIdFromUrl(endpoint.ComIdentity.Specification, endpoint.EndpointUrl.ToString()); if (comIdentity.Clsid == Guid.Empty) { comIdentity.Clsid = Guid.NewGuid(); } } m_endpoint = endpoint; EndpointTB.Text = m_endpoint.EndpointUrl.ToString(); }
private void OkBTN_Click(object sender, EventArgs e) { if (m_endpoint == null) { EditBTN_Click(sender, e); if (m_endpoint == null) { return; } } try { EndpointComIdentity comIdentity = new PseudoComServerDlg().ShowDialog(m_endpoint); if (comIdentity == null) { return; } m_endpoint.ComIdentity = comIdentity; // set a default configuration. if (comIdentity.Specification != ComSpecification.HDA) { ComProxyConfiguration configuration = m_endpoint.ParseExtension <ComProxyConfiguration>(null); if (configuration == null) { configuration = new ComProxyConfiguration(); configuration.BrowseBlockSize = 1000; } m_endpoint.UpdateExtension <ComProxyConfiguration>(null, configuration); } else { ComHdaProxyConfiguration configuration = m_endpoint.ParseExtension <ComHdaProxyConfiguration>(null); if (configuration == null) { configuration = new ComHdaProxyConfiguration(); configuration.BrowseBlockSize = 1000; configuration.MaxReturnValues = 10000; } m_endpoint.UpdateExtension <ComHdaProxyConfiguration>(null, configuration); } PseudoComServer.Save(m_endpoint); DialogResult = DialogResult.OK; } catch (Exception exception) { GuiUtils.HandleException(this.Text, System.Reflection.MethodBase.GetCurrentMethod(), exception); } }