protected override void OnApplyConfiguration(Binding binding) { base.OnApplyConfiguration(binding); WSHttpRelayBinding allowCookies = (WSHttpRelayBinding)binding; allowCookies.AllowCookies = this.AllowCookies; this.Security.ApplyConfiguration(allowCookies.Security); }
protected override void InitializeFrom(Binding binding) { base.InitializeFrom(binding); WSHttpRelayBinding wSHttpRelayBinding = (WSHttpRelayBinding)binding; this.AllowCookies = wSHttpRelayBinding.AllowCookies; this.Security.InitializeFrom(wSHttpRelayBinding.Security); }
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"); }