public void CanResolveClientAssociatedWithChannelUsingRelativeAddress()
{
using (new WindsorContainer()
.AddFacility<WcfFacility>(f => f.CloseTimeout = TimeSpan.Zero)
.Register(Component.For<Operations>()
.DependsOn(new { number = 28 })
.AsWcfService(new DefaultServiceModel()
.AddBaseAddresses("net.tcp://localhost/Operations")
.AddEndpoints(WcfEndpoint.ForContract<IOperations>()
.BoundTo(new NetTcpBinding { PortSharingEnabled = true })
.At("Extended")
)
)))
{
using (var clientContainer = new WindsorContainer()
.AddFacility<WcfFacility>(f => f.CloseTimeout = TimeSpan.Zero)
.Register(Component.For<IOperations>()
.Named("operations")
.AsWcfClient(new DefaultClientModel()
{
Endpoint = WcfEndpoint
.BoundTo(new NetTcpBinding { PortSharingEnabled = true })
.At("net.tcp://localhost/Operations/Extended")
})
))
{
var client = clientContainer.Resolve<IOperations>("operations");
Assert.AreEqual(28, client.GetValueFromConstructor());
}
}
}