Я использую шаблон хранилища с EF. В моем проекте мы используем две базы данных, и эти две базы данных находятся в двух разных проектах. В любое время один проект является CoreLib (мы ссылаемся на другой). У меня есть следующие вопросы.
- Можно ли использовать один слой хранилища для двух проектов?
- Как я могу обеспечить безопасность транзакций, используя System.Transactions.TransactionScope?
Примечание. Я использую единую платформу Microsoft и шаблон UnitOfWork.
Спасибо за ваш ответ. Я реализовал функциональность, чтобы сохранить изменения контекста в рамках транзакции. Каждый раз выдается следующее исключение.
{"Network access for Distributed Transaction Manager (MSDTC) has been disabled. Please enable DTC for network access in the security configuration for MSDTC using the Component Services Administrative tool."}
Я думаю, что это связано с настройкой MSDTC, и я настроил сетевой DTC-доступ на компьютере клиента и сервера SQL. Конфигурация выглядит следующим образом.
Network DTS access - Enabled.
Allow Remote Clients - Enabled.
Allow Remote Administration – Enabled.
Allow Inbound - Enabled.
Allow outbond - Enabled.
No Authentication Required – Enabled.
Что-то мне не хватает в настройке MSDTC?
Еще один вопрос: связана ли эта конфигурация с конфигурацией домена?
Потому что в нашей среде мой сервер БД не разрешен с его именем (мы используем IP-адрес).