Если вы хотите опубликовать метаданные, вам нужно включить совместное использование портов (чтобы конечная точка MEX использовала тот же порт, что и обычный порт TCP - вы получите исключение AddressAlreadyInUse, если для этого параметра установлено значение false), и вы, вероятно,необходимо указать порт в URL-адресе (не уверен, какой порт TCP будет использовать в противном случае), поэтому ваш код должен быть (при условии, что порт 8080 подходит для вас):
_container.Register(Component.For<IMembershipService>().ImplementedBy<MembershipService>()
.AsWcfService(
new DefaultServiceModel()
.AddEndpoints(WcfEndpoint
.BoundTo(new NetTcpBinding() { PortSharingEnabled = true})
.At("net.tcp://localhost:8080/MembershipService")
)
.PublishMetadata()
)
);
Это прекрасно работает при использовании Castle Windsor 3.0.