Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        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));
        }
Esempio n. 4
0
        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);
        }
Esempio n. 6
0
 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)
 {
 }
Esempio n. 10
0
 public static DuplexClientModel On(IWcfEndpoint endpoint)
 {
     return(new DuplexClientModel(endpoint));
 }
Esempio n. 11
0
 protected WcfClientModelBase(IWcfEndpoint endpoint) : this()
 {
     Endpoint = endpoint;
 }
Esempio n. 12
0
 public DataServiceModel(IWcfEndpoint endpoint) : base(endpoint)
 {
 }
Esempio n. 13
0
 public DuplexClientModel(IWcfEndpoint endpoint)
     : base(endpoint)
 {
 }
Esempio n. 14
0
 public RestServiceModel(IWcfEndpoint endpoint)
     : base(endpoint)
 {
 }
Esempio n. 15
0
 public DefaultServiceModel(IWcfEndpoint endpoint)
     : base(endpoint)
 {
 }
 public static DefaultClientModel On(IWcfEndpoint endpoint)
 {
     return(new DefaultClientModel(endpoint));
 }
Esempio n. 17
0
 protected ChannelCreator GetEndpointChannelCreator(IWcfEndpoint endpoint)
 {
     return(GetEndpointChannelCreator(endpoint, null));
 }
Esempio n. 18
0
 public static ComponentRegistration <T> AsWcfClient <T>(this ComponentRegistration <T> registration, IWcfEndpoint endpoint) where T : class
 {
     return(registration.ActAs(new DefaultClientModel(endpoint)));
 }
Esempio n. 19
0
 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;				
			}
Esempio n. 24
0
 protected WcfClientModel(IWcfEndpoint endpoint)
     : base(endpoint)
 {
 }