public void CanInhibitRecoveryFromAnUnhandledException()
{
using (var localContainer = new WindsorContainer()
.AddFacility<WcfFacility>(f =>
{
f.CloseTimeout = TimeSpan.Zero;
f.Clients.DefaultChannelPolicy = null;
})
.Register(
Component.For<RefreshChannelPolicy>()
.DependsOn(new { Refresh = false }),
Component.For<IOperationsEx>()
.Named("operations")
.AsWcfClient(new DefaultClientModel()
{
Endpoint = WcfEndpoint
.BoundTo(new NetTcpBinding { PortSharingEnabled = true })
.At("net.tcp://localhost/Operations/Ex")
})
))
{
var client = localContainer.Resolve<IOperationsEx>("operations");
try
{
client.ThrowException();
}
catch (Exception)
{
client.Backup(new Dictionary<string, object>());
}
}
}