Castle.Facilities.WcfIntegration.Tests.WcfClientFixture.CanDiscoverServiceEndpointInManagedMode C# (CSharp) Method

CanDiscoverServiceEndpointInManagedMode() private method

private CanDiscoverServiceEndpointInManagedMode ( ) : void
return void
		public void CanDiscoverServiceEndpointInManagedMode()
		{
			var netBinding = new NetTcpBinding { PortSharingEnabled = true };
			var probeAt = new EndpointAddress("net.tcp://localhost/ServiceCatalog/Probe");
			var discoveryProxy = new DiscoveryEndpoint(netBinding, probeAt) { IsSystemEndpoint = false };

			using (new WindsorContainer()
				.AddFacility<WcfFacility>(f => f.CloseTimeout = TimeSpan.Zero)
				.Register(
					Component.For<IServiceCatalogImplementation>().ImplementedBy<InMemoryServiceCatalog>(),
					Component.For<AdHocServiceCatalogProbe>(),
					Component.For<IServiceCatalog>().ImplementedBy<ServiceCatalog>()
						.AsWcfService(new DefaultServiceModel()
						.AddBaseAddresses(
							"net.tcp://localhost/ServiceCatalog")
						.AddEndpoints(
							WcfEndpoint.BoundTo(netBinding),
							WcfEndpoint.FromEndpoint(discoveryProxy))
						.AddExtensions(typeof(AdHocServiceCatalogProbe))
						),
					Component.For<IOperations>().ImplementedBy<Operations>()
						.DependsOn(new { number = 42 })
						.AsWcfService(new DefaultServiceModel().AddEndpoints(
							WcfEndpoint.BoundTo(netBinding).At("net.tcp://localhost/Operations2"))
							.Discoverable(discovery => discovery.Announce())
							)
				))
			{
				using (var clientContainer = new WindsorContainer()
				.AddFacility<WcfFacility>()
				.Register(Component.For<IOperations>()
					.AsWcfClient(WcfEndpoint.Discover().ManagedBy(discoveryProxy))
				))
				{
					var client = clientContainer.Resolve<IOperations>();
					Assert.AreEqual(42, client.GetValueFromConstructor());
				}
			}
		}
#endif
WcfClientFixture