Могут ли службы совместно использовать объекты доступа к данным (DAO)

#c# #wcf

#c# #wcf

Вопрос:

Могут ли две службы, размещенные отдельно, совместно использовать DAO?

Я создаю решение, в котором есть уровень данных, содержащий множество DAO, и я хочу создать поверх него уровень сервиса, который будет содержать несколько сервисов, которые будут размещены публично. Я пытаюсь понять, может ли служба совместно использовать несколько DAO, потому что я видел решения, которые содержат только один DAO для каждой службы?

Ответ №1:

Это будет зависеть от того, как был развернут DAL / DAO, если бы объекты совместно использовали общий домен приложения, тогда он был бы легко доступен для всех служб, если они находятся в отдельных доменах приложений, тогда это возможно, но несколько сложно и, возможно, стоит сделать.

Если вам нужно обеспечить некоторую форму «общего» кэша данных, транзакций или целостности данных между вашим сохраняемым источником данных и вашим сервером, вы могли бы реализовать уровень объектов данных между вашими службами и вашими источниками данных. Затем вы могли бы использовать привязку NamedPipes или netTcp и более высокий уровень безопасности между общедоступным API DAL и конечным источником данных.