/// <summary> /// Creates the WCF endpoint and configures port sharing depending on the /// Core.WCFEnablePortSharing setting. /// </summary> /// <returns>The Castle endpoint facility contract</returns> private IWcfEndpoint CreateEndpoint( BindingEndpointModel baseEndpoint, IEndpointBehavior endpointBehaviour, List <string> baseAddresses, string serviceUri) { IWcfEndpoint endpoint = baseEndpoint; if (Settings.WCFEnablePortSharing) { baseAddresses.Add(serviceUri); baseEndpoint.AddExtensions(endpointBehaviour); } else { // add ACL's to allow http service registrations without account elevation (for mex endpoints) // run these commands in an elevated console (only need to run this once) // NOTE: this is only required when not running as an administrator // netsh http add urlacl url = http://+:8002/ user=\Everyone // netsh http add urlacl url = http://+:8003/ user=\Everyone // netsh http add urlacl url = http://+:8502/ user=\Everyone endpoint = baseEndpoint // The .At(uri) enables a fully qualified endpoint Uri which avoids using a base address configuration // By limiting base addresses to only HTTP (mex) endpoints we eliminate the requirement of port sharing .At(serviceUri) .AddExtensions(endpointBehaviour); } return(endpoint); }
public virtual IWcfClientModel ForEndpoint(IWcfEndpoint endpoint) { var copy = (WcfClientModelBase)MemberwiseClone(); copy.endpoint = endpoint; if (extensions != null) { copy.extensions = new List <IWcfExtension>(extensions); } return(copy); }
public override IWcfServiceModel GetServiceModel(params object[] extensions) { IWcfEndpoint endpoint = WcfEndpoint .ForContract <T>() .BoundTo(Binding) .At(Address) .AddExtensions(extensions); return(new DefaultServiceModel(endpoint)); }
public override IWcfServiceModel GetServiceModel(params object[] extensions) { IWcfEndpoint endpoint = WcfEndpoint .ForContract <T>() .BoundTo(Binding) .At(ServiceName) .AddExtensions(extensions); return (new DefaultServiceModel { BaseAddresses = new[] { new Uri(BaseAddress, UriKind.Absolute) }, Endpoints = new[] { endpoint }, }); }
public override IWcfClientModel GetClientModel(params object[] extensions) { IWcfEndpoint endpoint = WcfEndpoint .ForContract <T>() .BoundTo(Binding) .At(Address) .AddExtensions(extensions); DefaultClientModel clientModel = new DefaultClientModel(endpoint); if (OpenOnDemand) { clientModel.OpenOnDemand(); } if (!AsyncCapability) { clientModel.WithoutAsyncCapability(); } return(clientModel); }
protected WcfServiceModel(IWcfEndpoint endpoint) { AddEndpoints(endpoint); }
public ServiceEndpoint AddServiceEndpoint(IWcfEndpoint endpoint) { endpoint.Accept(this); return(serviceEndpoint); }
protected ChannelCreator GetEndpointChannelCreator(IWcfEndpoint endpoint) { return GetEndpointChannelCreator(endpoint, null); }
public DefaultClientModel(IWcfEndpoint endpoint) : base(endpoint) { }
public static DuplexClientModel On(IWcfEndpoint endpoint) { return(new DuplexClientModel(endpoint)); }
protected WcfClientModelBase(IWcfEndpoint endpoint) : this() { Endpoint = endpoint; }
public DataServiceModel(IWcfEndpoint endpoint) : base(endpoint) { }
public DuplexClientModel(IWcfEndpoint endpoint) : base(endpoint) { }
public RestServiceModel(IWcfEndpoint endpoint) : base(endpoint) { }
public DefaultServiceModel(IWcfEndpoint endpoint) : base(endpoint) { }
public static DefaultClientModel On(IWcfEndpoint endpoint) { return(new DefaultClientModel(endpoint)); }
protected ChannelCreator GetEndpointChannelCreator(IWcfEndpoint endpoint) { return(GetEndpointChannelCreator(endpoint, null)); }
public static ComponentRegistration <T> AsWcfClient <T>(this ComponentRegistration <T> registration, IWcfEndpoint endpoint) where T : class { return(registration.ActAs(new DefaultClientModel(endpoint))); }
protected ChannelCreator GetEndpointChannelCreator(IWcfEndpoint endpoint, Type contract) { this.contract = contract ?? endpoint.Contract; endpoint.Accept(this); return(channelCreator); }
public RestClientModel(IWcfEndpoint endpoint) : base(endpoint) { }
protected ChannelCreator GetEndpointChannelCreator(IWcfEndpoint endpoint, Type contract) { this.contract = contract ?? endpoint.Contract; endpoint.Accept(this); return channelCreator; }
public static RestClientModel On(IWcfEndpoint endpoint) { return(new RestClientModel(endpoint)); }
public ServiceEndpoint AddServiceEndpoint(IWcfEndpoint endpoint) { endpoint.Accept(this); return serviceEndpoint; }
protected WcfClientModel(IWcfEndpoint endpoint) : base(endpoint) { }