static Uri EnsureListenUri(ServiceHostBase serviceHost, ServiceEndpoint endpoint)
 {
     Uri listenUri = endpoint.ListenUri;
     if (listenUri == null)
     {
         listenUri = serviceHost.GetVia(endpoint.Binding.Scheme, ServiceHost.EmptyUri);
     }
     if (listenUri == null)
     {
         AspNetEnvironment.Current.ProcessNotMatchedEndpointAddress(listenUri, endpoint.Binding.Name);
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.SFxEndpointNoMatchingScheme, endpoint.Binding.Scheme, endpoint.Binding.Name, serviceHost.GetBaseAddressSchemes())));
     }
     return listenUri;
 }