在web.config中定义端点和在global.asax(用于服务)中注册路由之间有什么区别,如下所示:
protected void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.Add(
new ServiceRoute(
"",
new WebServiceHostFactory(),
typeof(PersonService)
)
);
}
答案 0 :(得分:1)
就运行时而言,端点是相同的。但对于IIS托管的服务,如果不使用路由,则端点地址将始终包含.svc,即http://your-computer/app/service.svc/endpoint1。有些人不喜欢它,特别是对于REST服务,其中.svc不属于纯 URL。
使用路由的缺点是你需要使用ASP.NET管道,这对某些服务来说是一个问题(IIRC它的性能损失很小,默认情况下WCF服务不允许它,你需要明确允许ASP.NET兼容模式。)