public void CanAddAdditionalDiscoveryMetadata()
{
var metadata = new WcfEndpointDiscoveryMetadata();
metadata.Scopes.Add(new Uri("urn:castle:wcf"));
using (var container = new WindsorContainer()
.AddFacility<WcfFacility>(f => f.CloseTimeout = TimeSpan.Zero)
.Register(
Component.For<WcfEndpointDiscoveryMetadata>().Instance(metadata),
Component.For<Operations>()
.DependsOn(new { number = 28 })
.AsWcfService(new DefaultServiceModel()
.AddEndpoints(WcfEndpoint.ForContract<IOperations>()
.BoundTo(new NetTcpBinding(SecurityMode.Transport, true)
{
PortSharingEnabled = true
})
.At("net.tcp://localhost/Operations2"))
.Discoverable()
)))
{
using (var clientContainer = new WindsorContainer()
.AddFacility<WcfFacility>()
.Register(Component.For<IOperations>()
.AsWcfClient(WcfEndpoint.Discover().InScope("urn:castle:wcf"))
))
{
var client = clientContainer.Resolve<IOperations>();
Assert.AreEqual(28, client.GetValueFromConstructor());
}
}
}