Предположим, я хочу создать службу (без состояния) WCF с тремя методами, открытыми в конечной точке: performSqlOperationA()
, performSqlOperationB()
и performSqlOperationC()
. Каждый метод вставляет данные в базу данных SQL.Какова хорошая практика для обработки SQL-соединений в вызове WCF?
Способ, которым я видел вещи в моем офисе, каждый метод начинался с кода, чтобы инициализировать объект SqlConnection. Каждый метод заканчивается кодом, чтобы безопасно распоряжаться им.
Что такое хорошая практика для кодирования этих методов WCF, чтобы объект SqlConnection был инициализирован и размещен в каждом методе без необходимости выполнять эти действия в каждом методе? Я знаю, что у меня может быть инициализировано соединение в конструкторе для класса для методов WCF, но я не знаю об утилизации его ... Звонки не могут быть завернуты в блок using
.
Одно из решений, с которыми я знаком, это PostSharp, что позволяет мне устанавливать атрибут, который автоматически запускает определенный код в начале и конце каждого вызова метода, но было бы очень желательно сделать это с помощью только .net framework.
То, что мне не нравится в этом, заключается в том, что я должен делать это в каждом методе. Кажется, что должно быть какое-то отношение к этой избыточности. –
Вы можете инкапсулировать различные биты (например, получить строку подключения и создать соединение), но нет лучшего способа сделать это. Вы также можете использовать ORM, но у вас все равно будет эквивалент. – Joe
Я дал ответ +1, но похоже, что для OperationContract будет какой-то способ подключения, а некоторые - с параллелизмом. – Paparazzi