Castle.Facilities.WcfIntegration.DefaultServiceHost.AddDefaultEndpointIfNoneFound C# (CSharp) Method

AddDefaultEndpointIfNoneFound() private method

private AddDefaultEndpointIfNoneFound ( ) : void
return void
		private void AddDefaultEndpointIfNoneFound()
		{
#if !DOTNET35
			if (Description != null && Description.NonSystemEndpoints().Any() == false)
			{
				foreach (var endpoint in AddDefaultEndpoints())
				{
					if (EndpointCreated != null)
					{
						EndpointCreated(this, new EndpointCreatedArgs(endpoint));
					}
				}
			}
#else
			if (Description != null && Description.Endpoints.Count == 0)
			{
				Type contract = ObtainDefaultContract();

				if (contract != null)
				{
					foreach (Uri baseAddress in BaseAddresses)
					{
						Binding binding = null;

						if (baseAddress.Scheme == Uri.UriSchemeHttp)
						{
							binding = new BasicHttpBinding();
						}
						else if (baseAddress.Scheme == Uri.UriSchemeHttps)
						{
							binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);
						}
						else if (baseAddress.Scheme == Uri.UriSchemeNetTcp)
						{
							binding = new NetTcpBinding();
						}

						if (binding != null)
						{
							var endpoint = AddServiceEndpoint(contract, binding, baseAddress);

							if (EndpointCreated != null)
							{
								EndpointCreated(this, new EndpointCreatedArgs(endpoint));
							}
						}
					}
				}
			}
#endif
		}