Как использовать службы данных WCF поверх федерации SQL Azure?

Можно ли использовать службы данных WCF для предоставления доступа CRUD к сущности, которая хранится в члене федерации в SQL Azure Federation?

Предполагая, что ключ федерации хранится в субъекте безопасности и легко доступен в контексте приложения, есть ли способ перехватить операции службы и выдать соответствующие команды USE FEDERATION, открывая соединение в нужное время, как это было бы, если бы явно разрабатываете для ADO.NET Entity Framework?


person Fernando Correia    schedule 17.01.2012    source источник


Ответы (1)


Я решил эту проблему, прикрепив обработчик событий к свойству Connection.StateChange контекста DbContext, используемого службой данных WCF.

В этом обработчике событий, когда ConnectionState изменяется на Open, я выполняю команду «USE FEDERATION» с соответствующими аргументами (ключ раздела и фильтр).

Таким образом, каждый раз, когда служба открывает новое соединение с базой данных, я убеждаюсь, что первая команда, выдаваемая в этом соединении, - «ИСПОЛЬЗОВАТЬ ФЕДЕРАЦИЮ». Все последующие команды в этом соединении работают в этом контексте.

person Fernando Correia    schedule 12.07.2012