WebServiceHostFactory 实现多个Service共存的简单方式.
WCF4.0 for ASP.NET 中路由技术的支持,让WCF脱去了.SVC的外壳.
一、笨办法
WebServiceHostFactory webServiceHostFactory = new WebServiceHostFactory();
RouteTable.Routes.Add(new ServiceRoute("Service1",
webServiceHostFactory, typeof(Service1)));
RouteTable.Routes.Add(new ServiceRoute("Service2",
webServiceHostFactory, typeof(Service2)));
............................................................................
RouteTable.Routes.Add(new ServiceRoute("Servicen",
webServiceHostFactory, typeof(Servicen)));
二、稍等好点的办法
通过反射机制来处理,其实还是有点局限,局限在于怎样识别当前Type 是一个 ServiceContract:
WebServiceHostFactory webServiceHostFactory = new WebServiceHostFactory();
var types = Assembly.Load("RESTWCF4.0").GetTypes();
foreach (var type in types)
{
if (type.Name.Contains("Service"))
{
RouteTable.Routes.Add(new ServiceRoute(type.Name,
webServiceHostFactory, type));
}
}
欢迎大家一起思考,怎样能更好的处理这种情况。
一花一世界 一叶一菩提

浙公网安备 33010602011771号