WCF REST. Можно ли регистрировать запросы, полученные от клиента, в базу данных? - PullRequest
2 голосов
/ 25 апреля 2011

Я новичок в WCF.У меня есть служба WCF REST, которая влияет на ServiceAuthorizationManager.Требование заключается в том, чтобы записать полученный от клиентов запрос в таблицу в БД.Где это должно произойти, я имею в виду в AuthorizationManager, который реализует ServiceAuthorizationManager?и как собрать всю информацию, такую ​​как IP-адрес клиента, заголовки аутентификации, переданные клиентом, чтобы я мог заполнить объект и сделать вызов db в Application_EndRequest класса Global.asax.

Пожалуйстасоветую.

Спасибо, Раджу

Ответы [ 2 ]

2 голосов
/ 24 марта 2012

Рассмотрите возможность добавления инспектора сообщений к вашему сервису. Я нашел эту ссылку, которая может быть полезна: Инспектор сообщений WCF REST

В методе AfterReceiveRequest вы можете извлечь информацию заголовка и т. Д. Из заголовка запроса.

Реализуйте свою логику в BeforeSendReply вместо Application_EndRequest.

0 голосов
/ 25 апреля 2011

Если вы размещаете свой сервис в IIS 7+, более простым способом было бы настроить AppFabric и включить сквозной мониторинг для этого сервиса, а не развертывать свой собственный. Вот запись в блоге , в которой показан пример сервиса и конфигурация, необходимая для его работы.

Если вы решите пойти по пути ServiceAuthorizationManager, ознакомьтесь с этой статьей MSDN об использовании этого класса. В нем показано, как переопределить метод CheckAccessCore и получить заголовки сообщений и т. Д. Здесь можно реализовать вызов для регистрации запроса в случае успешной авторизации.

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