我们正在使用 WCFFacility 从托管 (IIS 7.5) 环境中设置服务。我们需要为每个服务提供两个端点,为 .NET 客户端提供 WSHttp,为其他所有人提供 WebHttp。这可能吗?
我们使用的代码:
_container.Register(
Component
.For<ISomeService>()
.ImplementedBy<SomeService>()
.AsWcfService(new DefaultServiceModel()
.Hosted()
.PublishMetadata(mex => mex.EnableHttpGet())
.AddEndpoints(
WcfEndpoint.BoundTo(new WSHttpBinding()).At("v1/ws"),
WcfEndpoint.BoundTo(new WebHttpBinding()).At("v1/rest")
))
);
进而:
RouteTable.Routes.Add(new ServiceRoute("", new DefaultServiceHostFactory(_container.Kernel), typeof(ISomeService)));
我认为我们不能真正混合 ws/web 端点,但这可以通过其他方式实现吗?我们不想回退到 xml 配置,但我们需要配置端点。