Конфигурация WCF для нескольких баз данных - PullRequest
1 голос
/ 31 января 2011

Я нахожусь в процессе преобразования нашего приложения win form для использования службы WCF вместо клиентских обращений к базе данных SQL.

Я не уверен, что лучше, но у нас есть идентичные схемы баз данных примерно для 600 баз данных.

Я надеялся найти здесь решение, в котором я при запуске приложения winform объявляю службу WCF для использования этой базы данных.на данный момент я пытаюсь избежать в каждом методе передачи параметра для какой строки подключения использовать.

У меня есть некоторое понимание WCF, но я очень мало знаю о «публичных декларациях» и контексте соединения,и не нашел хороших примеров для моего сценария.

это вообще возможно?

если кто-нибудь может направить меня в правильном направлении или передать мне пример кода, это будет очень признательно!:)

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 31 января 2011

WCF - это странный API, в котором вы потратите первый месяц, не получая его вообще, а следующие несколько месяцев задаетесь вопросом, как вы не могли его получить. Я могу ответить на некоторые ваши вопросы.

  1. Лучший ресурс, который я знаю, - это книга Ювала Лоури, хотя я слышал, что книга Бустаманте тоже очень хорошая.

  2. Вы можете раскрутить службу WCF в Main () перед запуском формы

  3. Для проекта, о котором вы говорите, вам, вероятно, понадобится конструктор не по умолчанию для вашего сервиса. Это немного больно, и я считаю, что книга Лоури справится с этим. Если нет, посмотрите на IInstanceProvider и IEndPointBehavior

При этом я не очень понимаю, как WCF вписывается в эту схему проектирования. Это действительно для связи между клиентом и сервером. Если вы планируете использовать его для разработки типа SOA, есть другие методы, которые намного чище и легче. Внедрение зависимостей и др. Можете ли вы привести более простой пример того, что вы хотите сделать, возможно? Я бы даже предложил класс, который просто оборачивает вашу базу данных, которую вы передаете во все объекты, которым нужна информация о БД, а не WCF.

1 голос
/ 31 января 2011

WCF поддерживает сессии.Таким образом, вы можете передать, какую базу данных вы хотите использовать при первом вызове, а все другие вызовы будут использовать значение в сеансе.

См .: http://msdn.microsoft.com/en-us/library/ms733040.aspx

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