WCFFacility を使用して、ホストされた (IIS 7.5) 環境からサービスをセットアップしています。必要なのは、サービスごとに 2 つのエンドポイントを提供することです。.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 構成にフォールバックしたくはありませんが、エンドポイントを構成する必要があります。