Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Одно соединение с БД для разных окон. / 25 сообщений из 71, страница 1 из 3
16.12.2017, 15:16
    #39570719
ramko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно соединение с БД для разных окон.
Коллеги добрый день.

Проектирую приложение из нескольких окон, на каждом из них планируется работа с БД (чтение, запись).
Как оптимальнее построить работу с БД? Мне не хочется создавать в каждом окне свое соеднинение, хочу одно соединение открыть при запуске приложения и закрыть при закрытии.

С ув.
Виктор
...
Рейтинг: 0 / 0
16.12.2017, 15:18
    #39570721
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно соединение с БД для разных окон.
ramkoхочу одно соединение открыть при запуске приложения и закрыть при закрытииИ в чём проблема?
...
Рейтинг: 0 / 0
16.12.2017, 15:27
    #39570723
ramko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно соединение с БД для разных окон.
Не знаю как это сделать.
Один из варианто класс dbcontext, но является ли такой способ оптимальным не могу понять.
...
Рейтинг: 0 / 0
16.12.2017, 17:30
    #39570763
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно соединение с БД для разных окон.
ramkoКак оптимальнее построить работу с БД?
если оптимальнее для программиста, то в при открытии каждого окна - получить соединение и работай.
Задержки не будет, т.к. драйвер умный и не закрывает соединение некоторое время. Вдруг ты передумаешь))).
...
Рейтинг: 0 / 0
16.12.2017, 20:16
    #39570800
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно соединение с БД для разных окон.
ramkoхочу одно соединение открыть при запуске приложения и закрыть при закрытии.
Микрософт не рекомендует так делать.
У него оптимизировано как раз повторное открытие соединений.

Рекомендую прочитать про пулл соединений
...
Рейтинг: 0 / 0
16.12.2017, 20:26
    #39570802
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно соединение с БД для разных окон.
Cat2ramkoхочу одно соединение открыть при запуске приложения и закрыть при закрытии.
Микрософт не рекомендует так делать.
У него оптимизировано как раз повторное открытие соединений.

Рекомендую прочитать про пулл соединений Где это он не рекомендует? Только не говорите, что тогда ещё интернета не было
...
Рейтинг: 0 / 0
16.12.2017, 22:09
    #39570837
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно соединение с БД для разных окон.
skyANAГде это он не рекомендует?
А где рекомендует по другому?
И где ваша рекомендация))?
...
Рейтинг: 0 / 0
16.12.2017, 22:52
    #39570852
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно соединение с БД для разных окон.
Petro123skyANAГде это он не рекомендует?
А где рекомендует по другому?
И где ваша рекомендация))?По другому рекомендуется, чуть-ли не в любой книжке, или мануале по ASP.NET.

А моя "рекомендация" выше: делайте "одно соединение открыть при запуске приложения и закрыть при закрытии", в чём проблема?

P.S.: и эта тема не раз уже в данном разделе обсуждалась.
...
Рейтинг: 0 / 0
17.12.2017, 00:09
    #39570869
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно соединение с БД для разных окон.
skyANAПо другому рекомендуется, чуть-ли не в любой книжке, или мануале по ASP.NET.
мы вроде в топике про десктоп и винФормс
skyANAПо другому рекомендуется, чуть-ли не в любой книжке, или мануале по ASP.NET.
отвечу в вашем стиле:
Где эти рекомендации?
skyANAА моя "рекомендация" выше
замечательно. И не возбуждайтесь когда советуют другие.
skyANAP.S.: и эта тема не раз уже в данном разделе обсуждалась.
аж интересно, что плохого в совете Cat2 или моём.
У меня проект именно так и работает.
...
Рейтинг: 0 / 0
17.12.2017, 01:24
    #39570875
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно соединение с БД для разных окон.
skyANAА моя "рекомендация" выше: делайте "одно соединение открыть при запуске приложения и закрыть при закрытии", в чём проблема?
и садомазо при обрыве соединения
...
Рейтинг: 0 / 0
17.12.2017, 11:19
    #39570924
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно соединение с БД для разных окон.
skyANACat2пропущено...

Микрософт не рекомендует так делать.
У него оптимизировано как раз повторное открытие соединений.

Рекомендую прочитать про пулл соединений Где это он не рекомендует? Только не говорите, что тогда ещё интернета не было

https://msdn.microsoft.com/ru-ru/library/8xx3tyca(v=vs.110).aspx Организация пулов соединений может существенно улучшить производительность и масштабируемость приложения. По умолчанию пул соединений в ADO.NET включен.
...
Внимание!
Настоятельно рекомендуется всегда закрывать соединение после его использования, чтобы оно вернулось в пул. Это можно сделать с помощью методов Close или Dispose объекта Connection либо открыв все соединения внутри инструкции using в C# или инструкции Using в Visual Basic. Соединения, которые явно не закрыты, нельзя добавить или вернуть в пул. Дополнительные сведения см. в разделе Оператор using (Справочник по C#) или Практическое руководство. Удаление системного ресурса (Visual Basic) для Visual Basic.
...
Рейтинг: 0 / 0
17.12.2017, 11:47
    #39570931
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно соединение с БД для разных окон.
Petro123skyANAПо другому рекомендуется, чуть-ли не в любой книжке, или мануале по ASP.NET.
мы вроде в топике про десктоп и винФормсТы спросил: "А где рекомендует по другому?". Вот при разработке веб-приложений рекомендуют по другому.

Petro123skyANAПо другому рекомендуется, чуть-ли не в любой книжке, или мануале по ASP.NET.
отвечу в вашем стиле:
Где эти рекомендации?Чукча не читатель? "в любой книжке, или мануале по ASP.NET".

Petro123skyANAА моя "рекомендация" выше
замечательно. И не возбуждайтесь когда советуют другие.А я и не возбуждаюсь.

Petro123skyANAP.S.: и эта тема не раз уже в данном разделе обсуждалась.
аж интересно, что плохого в совете Cat2 или моём.
У меня проект именно так и работает.В совете Cat2 ничего плохого и полезная ссылка.
А в твоём не понятно что ты имеешь в виду под "получить соединение". Получить можно и уже открытое соединение
...
Рейтинг: 0 / 0
17.12.2017, 11:49
    #39570932
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно соединение с БД для разных окон.
ИзопропилskyANAА моя "рекомендация" выше: делайте "одно соединение открыть при запуске приложения и закрыть при закрытии", в чём проблема?
и садомазо при обрыве соединенияДа бросьте. Ну случится такое раз в год, ну закроет пользователь программулину, откроет заного.
...
Рейтинг: 0 / 0
17.12.2017, 12:09
    #39570933
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно соединение с БД для разных окон.
Cat2skyANAпропущено...
Где это он не рекомендует? Только не говорите, что тогда ещё интернета не было

https://msdn.microsoft.com/ru-ru/library/8xx3tyca(v=vs.110).aspx Организация пулов соединений может существенно улучшить производительность и масштабируемость приложения. По умолчанию пул соединений в ADO.NET включен.
...
Внимание!
Настоятельно рекомендуется всегда закрывать соединение после его использования, чтобы оно вернулось в пул. Это можно сделать с помощью методов Close или Dispose объекта Connection либо открыв все соединения внутри инструкции using в C# или инструкции Using в Visual Basic. Соединения, которые явно не закрыты, нельзя добавить или вернуть в пул. Дополнительные сведения см. в разделе Оператор using (Справочник по C#) или Практическое руководство. Удаление системного ресурса (Visual Basic) для Visual Basic.
Вы серъёзно уверены, что это имеет какой-то смысл для того, что разрабатывает ТС?
За счёт какой такой магии вдруг улучшится производительность и масштабируемость его приложения?
С чего вдруг соединение уже будет использоваться и чем, или контекст транзакции будет не тот?

У него программулинка из нескольких окон и вангую, что оно будет прекрасно работать, если "одно соединение открыть при запуске ... и закрыть при закрытии".
...
Рейтинг: 0 / 0
17.12.2017, 13:05
    #39570943
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно соединение с БД для разных окон.
skyANAИзопропилпропущено...

и садомазо при обрыве соединенияДа бросьте. Ну случится такое раз в год, ну закроет пользователь программулину, откроет заного.

это вместо того чтоб просто взять из пула соединение?
...
Рейтинг: 0 / 0
17.12.2017, 13:15
    #39570950
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно соединение с БД для разных окон.
ИзопропилskyANAпропущено...
Да бросьте. Ну случится такое раз в год, ну закроет пользователь программулину, откроет заного.

это вместо того чтоб просто взять из пула соединение?Так, давайте разберёмся. Соединения с сервером нет к примеру в течение 5 минут.
И что даст пользователю то, что оно берётся из пула? Он что так, что сяк видит ошибку.

ТС спрашивает: "Как оптимальнее построить работу с БД?".
И пишет: "Мне не хочется создавать в каждом окне свое соеднинение, хочу одно соединение открыть при запуске приложения и закрыть при закрытии.".

И вот моё мнение, что для его небольшого приложения, которым не думаю, что будут часто пользоваться, данное решение вполне себе оптимально.
...
Рейтинг: 0 / 0
17.12.2017, 13:25
    #39570958
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно соединение с БД для разных окон.
skyANAВот при разработке веб-приложений рекомендуют по другому.
LOL
Водку с вином не мешают. Десктоп и веб - разная архитектура.
А мы в топике десктоп.
Ты совсем мальчик что ле?
Сказал бы просто что описался.
...
Рейтинг: 0 / 0
17.12.2017, 13:27
    #39570960
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно соединение с БД для разных окон.
skyANAи вангую
"Сложнее всего в мире достигнуть простоты — это крайняя граница опыта и последнее усилие гения". © George Sand.
...
Рейтинг: 0 / 0
17.12.2017, 14:15
    #39570991
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно соединение с БД для разных окон.
Petro123skyANAВот при разработке веб-приложений рекомендуют по другому.
LOL
Водку с вином не мешают. Десктоп и веб - разная архитектура.
А мы в топике десктоп.
Ты совсем мальчик что ле?
Сказал бы просто что описался.Не красиво на личности переходить, когда сказать нечего.

В веб множеству запросов в короткий промежуток времени нужно одно и тоже соединение.
Поэтому там и рекомендуют закрывать его как можно быстрее, чтобы оно попало в пул и могло быть использовано.

В десктопе же этого нет, а значит в большинстве случаев и нет проблем.
А если нет проблем, то не имеет особого смысла следовать рекомендациям по их избеганию
...
Рейтинг: 0 / 0
17.12.2017, 14:37
    #39570998
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно соединение с БД для разных окон.
skyANAНе красиво на личности переходить, когда сказать нечего.
я среагировал только на твой переходу тут:
skyANACat2пропущено...
Микрософт не рекомендует так делать.
У него оптимизировано как раз повторное открытие соединений.
Рекомендую прочитать про пулл соединений Где это он не рекомендует? Только не говорите, что тогда ещё интернета не было
т.к. сам видел эти рекомендации. Но для тебя это ОБС.
Я не против.
...
Рейтинг: 0 / 0
17.12.2017, 14:45
    #39571000
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно соединение с БД для разных окон.
Petro123skyANAНе красиво на личности переходить, когда сказать нечего.
я среагировал только на твой переходу тут:
skyANAпропущено...
Где это он не рекомендует? Только не говорите, что тогда ещё интернета не было
т.к. сам видел эти рекомендации. Но для тебя это ОБС.
Я не против.
1. Надо понимать почему даются те, или иные рекомендации, а не тупо им следовать.
2. Рекомендации не обязательны к исполнению, на то они и рекомендации.
3. Я так и не увидел ссылку на то, где написано "Мы НЕ рекомендуем так делать".
...
Рейтинг: 0 / 0
17.12.2017, 14:53
    #39571002
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно соединение с БД для разных окон.
Petro123,

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

Для задачи ТС оно вполне себе оптимально.
...
Рейтинг: 0 / 0
17.12.2017, 20:12
    #39571047
ViPRos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно соединение с БД для разных окон.
skyANA,

соединение денег стоит
...
Рейтинг: 0 / 0
17.12.2017, 20:13
    #39571048
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно соединение с БД для разных окон.
может у автора выполняются запросы 1000 раз в секунду, тогда не имеет смысла каждый раз открывать\закрывать подключения, если программа делает 1 запрос в час, то смысл держать его открытым не имеет, всё остальное находится посередине :)
в чем проблема автора, я не понял. Создайте до того, как создаете окна и передавайте класс для работы с БД в окно :)
...
Рейтинг: 0 / 0
17.12.2017, 20:27
    #39571055
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Одно соединение с БД для разных окон.
skyANAИ вот моё мнение, что для его небольшого приложения, которым не думаю, что будут часто пользоваться, данное решение вполне себе оптимально.
у меня - противоположное.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Одно соединение с БД для разных окон. / 25 сообщений из 71, страница 1 из 3
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]