public override void AddHostingBehavior(ServiceHostBase serviceHost, System.ServiceModel.Description.ServiceDescription description) { VirtualPathExtension virtualPathExtension = serviceHost.Extensions.Find <VirtualPathExtension>(); if (virtualPathExtension != null) { description.Behaviors.Add(new HostedBindingBehavior(virtualPathExtension)); } }
public override void ApplyHostedContext(TransportChannelListener listener, BindingContext context) { VirtualPathExtension virtualPathExtension = context.BindingParameters.Find <VirtualPathExtension>(); if (virtualPathExtension != null) { HostedMetadataBindingParameter metadataBindingParameter = context.BindingParameters.Find <HostedMetadataBindingParameter>(); listener.ApplyHostedContext(virtualPathExtension.VirtualPath, metadataBindingParameter != null); } }
public override void AddHostingBehavior(ServiceHostBase serviceHost, ServiceDescription description) { VirtualPathExtension virtualPathExtension = serviceHost.Extensions.Find <VirtualPathExtension>(); if (virtualPathExtension != null) { description.Behaviors.Add(new HostedBindingBehavior(virtualPathExtension)); } foreach (ServiceEndpoint endpoint in description.Endpoints) { if (ServiceMetadataBehavior.IsMetadataEndpoint(description, endpoint)) { endpoint.Behaviors.Add(new HostedMetadataExchangeEndpointBehavior()); } } }
public override string GetAnnotationFromHost(ServiceHostBase host) { if ((host != null) && (host.Extensions != null)) { string str = (host.Description != null) ? host.Description.Name : string.Empty; string applicationVirtualPath = ServiceHostingEnvironment.ApplicationVirtualPath; string str3 = string.Empty; VirtualPathExtension extension = host.Extensions.Find <VirtualPathExtension>(); if ((extension != null) && (extension.VirtualPath != null)) { str3 = extension.VirtualPath.Replace("~", applicationVirtualPath + "|"); return(string.Format(CultureInfo.InvariantCulture, "{0}{1}|{2}", new object[] { ServiceHostingEnvironment.SiteName, str3, str })); } } if (string.IsNullOrEmpty(cachedServiceReference)) { cachedServiceReference = string.Format(CultureInfo.InvariantCulture, "{0}{1}", new object[] { ServiceHostingEnvironment.SiteName, ServiceHostingEnvironment.ApplicationVirtualPath }); } return(cachedServiceReference); }
public override string GetAnnotationFromHost(ServiceHostBase host) { //Format Website name\Application Virtual Path|\relative service virtual path|serviceName if (host != null && host.Extensions != null) { string serviceName = (host.Description != null) ? host.Description.Name : string.Empty; string application = ServiceHostingEnvironment.ApplicationVirtualPath; string servicePath = string.Empty; VirtualPathExtension extension = host.Extensions.Find <VirtualPathExtension>(); if (extension != null && extension.VirtualPath != null) { servicePath = extension.VirtualPath.Replace("~", application + "|"); return(string.Format(CultureInfo.InvariantCulture, "{0}{1}|{2}", ServiceHostingEnvironment.SiteName, servicePath, serviceName)); } } if (string.IsNullOrEmpty(HostedAspNetEnvironment.cachedServiceReference)) { HostedAspNetEnvironment.cachedServiceReference = string.Format(CultureInfo.InvariantCulture, "{0}{1}", ServiceHostingEnvironment.SiteName, ServiceHostingEnvironment.ApplicationVirtualPath); } return(HostedAspNetEnvironment.cachedServiceReference); }
internal override void AddMetadataBindingParameters(Uri listenUri, KeyedByTypeCollection <IServiceBehavior> serviceBehaviors, BindingParameterCollection bindingParameters) { if (serviceBehaviors.Find <HostedBindingBehavior>() != null) { bindingParameters.Add(new HostedMetadataBindingParameter()); } VirtualPathExtension virtualPathExtension = bindingParameters.Find <VirtualPathExtension>(); if (virtualPathExtension != null) { AuthenticationSchemes hostSupportedAuthenticationSchemes = AspNetEnvironment.Current.GetAuthenticationSchemes(listenUri); if (hostSupportedAuthenticationSchemes != AuthenticationSchemes.None) { if (bindingParameters.Find <AuthenticationSchemesBindingParameter>() == null) { bindingParameters.Add(new AuthenticationSchemesBindingParameter(hostSupportedAuthenticationSchemes)); } } } base.AddMetadataBindingParameters(listenUri, serviceBehaviors, bindingParameters); }
internal HostedBindingBehavior(VirtualPathExtension virtualPathExtension) { this.virtualPathExtension = virtualPathExtension; }