Как маршрутизировать сервисы WCF REST? - PullRequest
2 голосов
/ 09 июня 2011

Планировал использовать маршрутизацию службы (в WCF / REST) ​​для выполнения некоторых общих задач до того, как запрос достигнет фактической службы. Теперь, когда я прочитал больше об этом, похоже, что REST еще не поддерживается в RoutingService, и предложенный метод заключается в использовании System.Web.Routing или ARR.

То, что должно произойти в маршрутизаторе, - это проверка ключа, извлечение значения заголовка и управление версиями.

ARR не подходит для этого, так как он просто маршрутизирует, и у нас нет «обработчика», к которому у нас есть доступ. System.Web.Routing выглядит как множество пользовательских реализаций, которые могут подорвать эффективность WCF.

Альтернатива старой школы, о которой я думаю, состоит в том, чтобы иметь общие функции в одной цепочке обязанностей и просто составлять ее в каждой службе. Это имеет тот недостаток, что на N указывается количество мест для N служб. Но это все больше похоже на единственную альтернативу, если я не хочу связываться с обработкой конечных точек WCF.

Ищу совета по правильному способу сделать это и любые образцы.

Ответы [ 2 ]

2 голосов
/ 09 июня 2011

Не пробовал, но, возможно, написание пользовательского поведения службы может решить вашу проблему. Взгляните сюда: Расширение WCF с пользовательским поведением .

Идея состоит в том, чтобы расширить механизм WCF с помощью пользовательского поведения, а затем подключить свой сервис с помощью этого поведения. Это прозрачно для услуг.

0 голосов
/ 09 июня 2011

Взгляните на HttpMessageHandlers в новом проекте WCF Web Api htttp: //wcf.codeplex.com. Этот механизм позволяет вам делать что-то похожее на Rack или WSGI.У меня есть пара примеров того, что вы можете сделать с ними в моем блоге http://www.bizcoder.com/index.php/2011/05/22/how-to-get-ahead-with-messagehandlers/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...