В чем разница между определением конечных точек web.config и регистрацией маршрутов global.asax? - PullRequest
2 голосов
/ 13 февраля 2011

В чем разница между определением конечных точек в web.config и регистрацией маршрутов в global.asax (для сервисов) следующим образом:

protected void Application_Start(object sender, EventArgs e)    
{    
    RouteTable.Routes.Add(
        new ServiceRoute(
            "", 
            new WebServiceHostFactory(), 
            typeof(PersonService)
        )
    );    
}

1 Ответ

1 голос
/ 31 мая 2011

Что касается времени выполнения, конечные точки одинаковы.Но для служб, размещенных на IIS, если вы не используете маршруты, то в адресе конечной точки всегда будет .svc - т. Е. http://your -компьютер / app / service.svc / endpoint1 .Некоторым это не нравится, особенно для сервисов REST, где .svc не относится к pure URL.

Недостаток использования маршрутов в том, что вам нужно использовать ASP.NET конвейер, который является проблемой для некоторых сервисов (IIRC имеет небольшое снижение производительности, и по умолчанию сервисы WCF не разрешают его, вам нужно явно разрешить режим совместимости с ASP.NET).

...