none
WCF служба при доступе к базе данных со страницы ASP.NET. RRS feed

  • Вопрос

  • Здравствуйте!

    Мне нужно выполнить несложную задачу: подключиться к БД, выполнить запрос и отобразить данные на web-странице. Но, я не знаю, что будет когда это одновременно будут делать несколько пользователей. Что будет с объектом подключения к БД: он будет один, или у каждого клиента свой? Или, например, коллекция хранящая данные полученные от БД, она будет одна, или своя у каждого пользователя? Не лучшим ли решением будет вынести всю логику работы с БД в WCF службу, работающую в режиме уровня вызова или уровня сеансов?

    Кроме того, мне нужно на некоторое время (пока клиент работает со страницей) сохранить полученные данные, и потом, в зависимости от действий пользователя сгенирировать файл Excel или изображение, и отдать их клиенту. Мне кажется, что лучше делать это на службе.

    Подскажите, пожалуйста, как лучше сделать? Заранее спасибо.

    16 ноября 2013 г. 20:52

Ответы

  • "Но, я не знаю, что будет когда это одновременно будут делать несколько пользователей. Что будет с объектом подключения к БД: он будет один, или у каждого клиента свой?" - да у каждого свой.

    "Или, например, коллекция хранящая данные полученные от БД, она будет одна, или своя у каждого пользователя?" - да, тоже одна, если она не статическая.

    "Не лучшим ли решением будет вынести всю логику работы с БД в WCF службу, работающую в режиме уровня вызова или уровня сеансов?" - зачем, тогда все запросы будут становиться в очередь. А так будут работать параллельно, а параллелизм обеспечит СУБД.

    "Кроме того, мне нужно на некоторое время (пока клиент работает со страницей) сохранить полученные данные" - это задача клиента, и он должен хранить промежуточные данные. А задача службы принимать или получать конечные данные.


    Сделаем содержимое сообщества лучше, вместе!

    19 ноября 2013 г. 9:10
    Модератор

Все ответы

  • "Но, я не знаю, что будет когда это одновременно будут делать несколько пользователей. Что будет с объектом подключения к БД: он будет один, или у каждого клиента свой?" - да у каждого свой.

    "Или, например, коллекция хранящая данные полученные от БД, она будет одна, или своя у каждого пользователя?" - да, тоже одна, если она не статическая.

    "Не лучшим ли решением будет вынести всю логику работы с БД в WCF службу, работающую в режиме уровня вызова или уровня сеансов?" - зачем, тогда все запросы будут становиться в очередь. А так будут работать параллельно, а параллелизм обеспечит СУБД.

    "Кроме того, мне нужно на некоторое время (пока клиент работает со страницей) сохранить полученные данные" - это задача клиента, и он должен хранить промежуточные данные. А задача службы принимать или получать конечные данные.


    Сделаем содержимое сообщества лучше, вместе!

    19 ноября 2013 г. 9:10
    Модератор
  • "Не лучшим ли решением будет вынести всю логику работы с БД в WCF службу, работающую в режиме уровня вызова или уровня сеансов?" - зачем, тогда все запросы будут становиться в очередь. А так будут работать параллельно, а параллелизм обеспечит СУБД.


    А если на потоки поставить ?

    19 ноября 2013 г. 12:41
  • Так оно и так будет автоматически работать в многопоточном режиме. Каждый запрос обрабатывает один поток.

    Сделаем содержимое сообщества лучше, вместе!

    20 ноября 2013 г. 5:25
    Модератор