internal static void ConfigureBinding(Binding binding, bool anonymous = true) { if (binding is NetTcpRelayBinding) { NetTcpRelayBinding tcpBinding = (NetTcpRelayBinding)binding; tcpBinding.Security.Mode = EndToEndSecurityMode.Message; if (anonymous) { tcpBinding.Security.Message.ClientCredentialType = MessageCredentialType.None; } else { tcpBinding.Security.Message.ClientCredentialType = MessageCredentialType.UserName; } tcpBinding.ConnectionMode = TcpRelayConnectionMode.Hybrid; tcpBinding.ReliableSession.Enabled = true; return; } if (binding is WSHttpRelayBinding) { WSHttpRelayBinding wsBinding = (WSHttpRelayBinding)binding; wsBinding.Security.Mode = EndToEndSecurityMode.Message; if (anonymous) { wsBinding.Security.Message.ClientCredentialType = MessageCredentialType.None; } else { wsBinding.Security.Message.ClientCredentialType = MessageCredentialType.UserName; } wsBinding.ReliableSession.Enabled = true; return; } if (binding is NetOnewayRelayBinding) { NetOnewayRelayBinding onewayBinding = (NetOnewayRelayBinding)binding; onewayBinding.Security.Mode = EndToEndSecurityMode.Message; if (anonymous) { onewayBinding.Security.Message.ClientCredentialType = MessageCredentialType.None; } else { onewayBinding.Security.Message.ClientCredentialType = MessageCredentialType.UserName; } return; } throw new InvalidOperationException(binding.GetType() + " is unsupported"); }
protected override void InitializeFrom(Binding binding) { base.InitializeFrom(binding); NetOnewayRelayBinding netOnewayRelayBinding = (NetOnewayRelayBinding)binding; this.MaxBufferPoolSize = netOnewayRelayBinding.MaxBufferPoolSize; this.MaxBufferSize = netOnewayRelayBinding.MaxBufferSize; this.MaxConnections = netOnewayRelayBinding.MaxConnections; this.MaxReceivedMessageSize = netOnewayRelayBinding.MaxReceivedMessageSize; this.ListenBacklog = netOnewayRelayBinding.ListenBacklog; this.Security.InitializeFrom(netOnewayRelayBinding.Security); this.ReaderQuotas.InitializeFrom(netOnewayRelayBinding.ReaderQuotas); }
protected override void OnApplyConfiguration(Binding binding) { NetOnewayRelayBinding listenBacklog = (NetOnewayRelayBinding)binding; listenBacklog.ListenBacklog = this.ListenBacklog; listenBacklog.MaxBufferPoolSize = this.MaxBufferPoolSize; if (base.ElementInformation.Properties["maxBufferSize"].ValueOrigin != PropertyValueOrigin.Default) { listenBacklog.MaxBufferSize = this.MaxBufferSize; } listenBacklog.MaxConnections = this.MaxConnections; listenBacklog.MaxReceivedMessageSize = this.MaxReceivedMessageSize; this.Security.ApplyConfiguration(listenBacklog.Security); this.ReaderQuotas.ApplyConfiguration(listenBacklog.ReaderQuotas); }
static void Main(string[] args) { try { //string serviceBusSolutionName = ServiceBusHelper.GetServiceBusSolutionName(); //Console.Write("Your Solution Password: "******"owner"; //string issuerKey = "wJBJaobUmarWn6kqv7QpaaRh3ttNVr3w1OjiotVEOL4="; //NetOnewayEnergyServiceOperationsServer server = new NetOnewayEnergyServiceOperationsServer( // serviceBusSolutionName, // issuerName, // issuerKey, // "OnewayEnergyServiceOperations", // Microsoft.ServiceBus.ConnectivityMode.AutoDetect, // typeof(OnewayEnergyServiceOperations), // true); string serviceNamespaceDomain = ServiceBusHelper.GetServiceBusSolutionName(); Uri address = ServiceBusEnvironment.CreateServiceUri("sb", serviceNamespaceDomain, "OnewayEnergyServiceOperations"); ServiceHost host = new ServiceHost(typeof(OnewayEnergyServiceOperations), address); host.Open(); Console.WriteLine("ServiceUri:" + address.ToString()); Console.WriteLine("Service registered for public discovery."); NetOnewayRelayBinding binding = host.Description.Endpoints[0].Binding as NetOnewayRelayBinding; if (binding != null) { Console.WriteLine("Scheme:" + binding.Scheme); Console.WriteLine("Security Mode:" + binding.Security.Mode); Console.WriteLine("Security RelayAuthType:" + binding.Security.RelayClientAuthenticationType.ToString()); Console.WriteLine("Security Transport.ProtectionLevel:" + binding.Security.Transport.ProtectionLevel.ToString()); } Console.WriteLine("Press [Enter] to exit"); Console.ReadLine(); host.Close(); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
/// <summary> /// Configures default settings for the specified <see cref="Microsoft.ServiceBus.NetOnewayRelayBinding"/> binding. /// </summary> /// <param name="eventRelayBinding">The Service Bus transport binding to be configured.</param> public static void ConfigureDefaults(NetOnewayRelayBinding eventRelayBinding) { Guard.ArgumentNotNull(eventRelayBinding, "eventRelayBinding"); eventRelayBinding.OpenTimeout = TimeSpan.FromSeconds(DefaultOpenTimeoutSeconds); eventRelayBinding.CloseTimeout = TimeSpan.FromSeconds(DefaultCloseTimeoutSeconds); eventRelayBinding.ReceiveTimeout = TimeSpan.FromSeconds(DefaultReceiveTimeoutSeconds); eventRelayBinding.SendTimeout = TimeSpan.FromSeconds(DefaultSendTimeoutSeconds); eventRelayBinding.MaxReceivedMessageSize = DefaultMaxReceivedMessageSize; eventRelayBinding.MaxBufferPoolSize = DefaultMaxBufferPoolSize; eventRelayBinding.MaxBufferSize = DefaultMaxBufferSize; eventRelayBinding.ReaderQuotas.MaxArrayLength = DefaultReaderQuotasMaxArrayLength; eventRelayBinding.ReaderQuotas.MaxBytesPerRead = DefaultReaderQuotasMaxBytesPerRead; eventRelayBinding.ReaderQuotas.MaxDepth = DefaultReaderQuotasMaxDepth; eventRelayBinding.ReaderQuotas.MaxNameTableCharCount = DefaultReaderQuotasMaxNameTableCharCount; eventRelayBinding.ReaderQuotas.MaxStringContentLength = DefaultReaderQuotasMaxStringContentLength; }
string[] DiscoverServiceBusMexAddresses(string serviceNamespace) { NetOnewayRelayBinding binding = new NetOnewayRelayBinding(); if (m_DisoveryPaths.ContainsKey(serviceNamespace) == false) { m_DisoveryPaths[serviceNamespace] = DiscoverableServiceHost.DiscoveryPath; } EndpointAddress address = new EndpointAddress(ServiceBusEnvironment.CreateServiceUri("sb", serviceNamespace, m_DisoveryPaths[serviceNamespace])); ServiceBusDiscoveryClient discoveryClient = new ServiceBusDiscoveryClient(binding, address); IServiceBusProperties properties = discoveryClient as IServiceBusProperties; properties.Credential = m_NamespaceCredentials[serviceNamespace]; FindResponse discovered = discoveryClient.Find(FindCriteria.CreateMetadataExchangeEndpointCriteria()); return(discovered.Endpoints.Select(mexEndpoint => mexEndpoint.Address.Uri.AbsoluteUri).ToArray()); }
public EventRelayClientBase(string namespaceBaseAddress, NetOnewayRelayBinding binding) { State = CommunicationState.Faulted; Debug.Assert(namespaceBaseAddress.Contains("servicebus.windows.net")); if (namespaceBaseAddress.EndsWith("/") == false) { namespaceBaseAddress += "/"; } BaseAddress = namespaceBaseAddress; Binding = binding; Anonymous = true; SetServiceCertificate(""); State = CommunicationState.Created; }
static protected Binding GetBindingFromAddress(string address) { if (address.StartsWith("http:") || address.StartsWith("https:")) { WSHttpBinding binding = new WSHttpBinding(); binding.ReliableSession.Enabled = true; binding.TransactionFlow = true; return(binding); } if (address.StartsWith("net.tcp:")) { NetTcpBinding binding = new NetTcpBinding(); binding.ReliableSession.Enabled = true; binding.TransactionFlow = true; return(binding); } if (address.StartsWith("net.pipe:")) { NetNamedPipeBinding binding = new NetNamedPipeBinding(); binding.TransactionFlow = true; return(binding); } if (address.StartsWith("net.msmq:")) { NetMsmqBinding binding = new NetMsmqBinding(); binding.Security.Mode = NetMsmqSecurityMode.None; return(binding); } if (address.StartsWith("sb:")) { NetOnewayRelayBinding binding = new NetOnewayRelayBinding(); return(binding); } Debug.Assert(false, "Unsupported binding specified"); return(null); }
public void SetBinding(string bindingConfigName) { RelayBinding = new NetEventRelayBinding(bindingConfigName); }
public void SetBinding(string bindingConfigName) { RelayBinding = new NetEventRelayBinding(bindingConfigName); }
public OneWayClientBase(NetOnewayRelayBinding binding, EndpointAddress remoteAddress, string username, string password) : base(binding, remoteAddress, username, password) { }
public override void SetBinding(NetOnewayRelayBinding binding) { Debug.Assert(binding is NetEventRelayBinding); RelayBinding = binding; }
string[] DiscoverServiceBusMexAddresses(string serviceNamespace) { NetOnewayRelayBinding binding = new NetOnewayRelayBinding(); if(m_DisoveryPaths.ContainsKey(serviceNamespace) == false) { m_DisoveryPaths[serviceNamespace] = DiscoverableServiceHost.DiscoveryPath; } EndpointAddress address = new EndpointAddress(ServiceBusEnvironment.CreateServiceUri("sb",serviceNamespace,m_DisoveryPaths[serviceNamespace])); ServiceBusDiscoveryClient discoveryClient = new ServiceBusDiscoveryClient(binding,address); TransportClientEndpointBehavior creds = new TransportClientEndpointBehavior(m_NamespaceCredentials[serviceNamespace]); IServiceBusProperties properties = discoveryClient as IServiceBusProperties; properties.Credential = creds; FindResponse discovered = discoveryClient.Find(FindCriteria.CreateMetadataExchangeEndpointCriteria()); return discovered.Endpoints.Select(mexEndpoint => mexEndpoint.Address.Uri.AbsoluteUri).ToArray(); }
public abstract void SetBinding(NetOnewayRelayBinding binding);
public EventRelayClientBase(string namespaceBaseAddress, NetOnewayRelayBinding binding, string username, string password) : this(namespaceBaseAddress, binding) { ServiceUsername = username; ServicePassword = password; Anonymous = false; }
public ServiceBusEventsClientBase(string namespaceBaseAddress, NetOnewayRelayBinding binding, string username, string password) : base(binding, ToEventAddress(namespaceBaseAddress), username, password) { }
public ServiceBusDiscoveryClient(NetOnewayRelayBinding binding, EndpointAddress address) : base(binding, address) { Initialize(); }
public ServiceBusEventsClientBase(string namespaceBaseAddress, NetOnewayRelayBinding binding) : base(binding, ToEventAddress(namespaceBaseAddress)) { }
public OneWayClientBase(NetOnewayRelayBinding binding, EndpointAddress remoteAddress) : base(binding, remoteAddress) { }
void ConfigureSecurityMode(Binding binding) { SecurityModeEx securityMode = SecurityModeEx.None; bool enabled = false; if (binding is NetTcpBinding) { NetTcpBinding tcpBinding = binding as NetTcpBinding; switch (tcpBinding.Security.Mode) { case SecurityMode.Message: { securityMode = SecurityModeEx.Message; break; } case SecurityMode.None: { securityMode = SecurityModeEx.None; break; } case SecurityMode.Transport: { securityMode = SecurityModeEx.Transport; break; } case SecurityMode.TransportWithMessageCredential: { securityMode = SecurityModeEx.Mixed; break; } } enabled = true; } if (binding is NetNamedPipeBinding) { NetNamedPipeBinding pipeBinding = binding as NetNamedPipeBinding; switch (pipeBinding.Security.Mode) { case NetNamedPipeSecurityMode.None: { securityMode = SecurityModeEx.None; break; } case NetNamedPipeSecurityMode.Transport: { securityMode = SecurityModeEx.Transport; break; } } enabled = true; } if (binding is NetMsmqBinding) { NetMsmqBinding msmqBinding = binding as NetMsmqBinding; switch (msmqBinding.Security.Mode) { case NetMsmqSecurityMode.Both: { securityMode = SecurityModeEx.Both; break; } case NetMsmqSecurityMode.Message: { securityMode = SecurityModeEx.Message; break; } case NetMsmqSecurityMode.None: { securityMode = SecurityModeEx.None; break; } case NetMsmqSecurityMode.Transport: { securityMode = SecurityModeEx.Transport; break; } } enabled = true; } if (binding is BasicHttpBinding) { BasicHttpBinding basicBinding = binding as BasicHttpBinding; switch (basicBinding.Security.Mode) { case BasicHttpSecurityMode.Message: { securityMode = SecurityModeEx.Message; break; } case BasicHttpSecurityMode.None: { securityMode = SecurityModeEx.None; break; } case BasicHttpSecurityMode.Transport: { securityMode = SecurityModeEx.Transport; break; } case BasicHttpSecurityMode.TransportCredentialOnly: { securityMode = SecurityModeEx.Transport; break; } case BasicHttpSecurityMode.TransportWithMessageCredential: { securityMode = SecurityModeEx.Mixed; break; } } enabled = true; } if (binding is WSHttpBinding) { WSHttpBinding wsBinding = binding as WSHttpBinding; switch (wsBinding.Security.Mode) { case SecurityMode.Message: { securityMode = SecurityModeEx.Message; break; } case SecurityMode.None: { securityMode = SecurityModeEx.None; break; } case SecurityMode.Transport: { securityMode = SecurityModeEx.Transport; break; } case SecurityMode.TransportWithMessageCredential: { securityMode = SecurityModeEx.Mixed; break; } } enabled = true; } if (binding is WSDualHttpBinding) { WSDualHttpBinding wsDualBinding = binding as WSDualHttpBinding; switch (wsDualBinding.Security.Mode) { case WSDualHttpSecurityMode.Message: { securityMode = SecurityModeEx.Message; break; } case WSDualHttpSecurityMode.None: { securityMode = SecurityModeEx.None; break; } } enabled = true; } if (binding is NetPeerTcpBinding) { NetPeerTcpBinding peerBinding = binding as NetPeerTcpBinding; switch (peerBinding.Security.Mode) { case SecurityMode.Message: { securityMode = SecurityModeEx.Message; break; } case SecurityMode.None: { securityMode = SecurityModeEx.None; break; } case SecurityMode.Transport: { securityMode = SecurityModeEx.Transport; break; } case SecurityMode.TransportWithMessageCredential: { securityMode = SecurityModeEx.Transport; break; } } enabled = true; } if (binding is WSFederationHttpBinding) { WSFederationHttpBinding federatedBinding = binding as WSFederationHttpBinding; switch (federatedBinding.Security.Mode) { case WSFederationHttpSecurityMode.Message: { securityMode = SecurityModeEx.Message; break; } case WSFederationHttpSecurityMode.None: { securityMode = SecurityModeEx.None; break; } case WSFederationHttpSecurityMode.TransportWithMessageCredential: { securityMode = SecurityModeEx.Mixed; break; } } enabled = true; } if (binding is NetTcpRelayBinding) { NetTcpRelayBinding tcpRelayBinding = binding as NetTcpRelayBinding; switch (tcpRelayBinding.Security.Mode) { case EndToEndSecurityMode.Message: { securityMode = SecurityModeEx.Message; break; } case EndToEndSecurityMode.None: { securityMode = SecurityModeEx.None; break; } case EndToEndSecurityMode.Transport: { securityMode = SecurityModeEx.Transport; break; } case EndToEndSecurityMode.TransportWithMessageCredential: { securityMode = SecurityModeEx.Mixed; break; } } enabled = true; } if (binding is BasicHttpRelayBinding) { BasicHttpRelayBinding basicRelayBinding = binding as BasicHttpRelayBinding; switch (basicRelayBinding.Security.Mode) { case EndToEndBasicHttpSecurityMode.Message: { securityMode = SecurityModeEx.Message; break; } case EndToEndBasicHttpSecurityMode.None: { securityMode = SecurityModeEx.None; break; } case EndToEndBasicHttpSecurityMode.Transport: { securityMode = SecurityModeEx.Transport; break; } case EndToEndBasicHttpSecurityMode.TransportWithMessageCredential: { securityMode = SecurityModeEx.Mixed; break; } } enabled = true; } if (binding is NetOnewayRelayBinding) { NetOnewayRelayBinding onewayRelayBinding = binding as NetOnewayRelayBinding; switch (onewayRelayBinding.Security.Mode) { case EndToEndSecurityMode.Message: { securityMode = SecurityModeEx.Message; break; } case EndToEndSecurityMode.None: { securityMode = SecurityModeEx.None; break; } case EndToEndSecurityMode.Transport: { securityMode = SecurityModeEx.Transport; break; } case EndToEndSecurityMode.TransportWithMessageCredential: { securityMode = SecurityModeEx.Mixed; break; } } enabled = true; } if (binding is CustomBinding) { enabled = false; } m_NoneRadioButton.Checked = securityMode == SecurityModeEx.None; m_TransportRadioButton.Checked = securityMode == SecurityModeEx.Transport; m_MessageRadioButton.Checked = securityMode == SecurityModeEx.Message; m_MixedRadioButton.Checked = securityMode == SecurityModeEx.Mixed; m_BothRadioButton.Checked = securityMode == SecurityModeEx.Both; m_NoneRadioButton.Enabled = enabled; m_TransportRadioButton.Enabled = enabled; m_MessageRadioButton.Enabled = enabled; m_MixedRadioButton.Enabled = enabled; m_BothRadioButton.Enabled = enabled; }