|
Одно соединение с БД для разных окон.
|
|||
---|---|---|---|
#18+
Коллеги добрый день. Проектирую приложение из нескольких окон, на каждом из них планируется работа с БД (чтение, запись). Как оптимальнее построить работу с БД? Мне не хочется создавать в каждом окне свое соеднинение, хочу одно соединение открыть при запуске приложения и закрыть при закрытии. С ув. Виктор ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 15:16 |
|
Одно соединение с БД для разных окон.
|
|||
---|---|---|---|
#18+
ramkoхочу одно соединение открыть при запуске приложения и закрыть при закрытииИ в чём проблема? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 15:18 |
|
Одно соединение с БД для разных окон.
|
|||
---|---|---|---|
#18+
Не знаю как это сделать. Один из варианто класс dbcontext, но является ли такой способ оптимальным не могу понять. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 15:27 |
|
Одно соединение с БД для разных окон.
|
|||
---|---|---|---|
#18+
ramkoКак оптимальнее построить работу с БД? если оптимальнее для программиста, то в при открытии каждого окна - получить соединение и работай. Задержки не будет, т.к. драйвер умный и не закрывает соединение некоторое время. Вдруг ты передумаешь))). ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 17:30 |
|
Одно соединение с БД для разных окон.
|
|||
---|---|---|---|
#18+
ramkoхочу одно соединение открыть при запуске приложения и закрыть при закрытии. Микрософт не рекомендует так делать. У него оптимизировано как раз повторное открытие соединений. Рекомендую прочитать про пулл соединений ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 20:16 |
|
Одно соединение с БД для разных окон.
|
|||
---|---|---|---|
#18+
Cat2ramkoхочу одно соединение открыть при запуске приложения и закрыть при закрытии. Микрософт не рекомендует так делать. У него оптимизировано как раз повторное открытие соединений. Рекомендую прочитать про пулл соединений Где это он не рекомендует? Только не говорите, что тогда ещё интернета не было ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 20:26 |
|
Одно соединение с БД для разных окон.
|
|||
---|---|---|---|
#18+
skyANAГде это он не рекомендует? А где рекомендует по другому? И где ваша рекомендация))? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 22:09 |
|
Одно соединение с БД для разных окон.
|
|||
---|---|---|---|
#18+
Petro123skyANAГде это он не рекомендует? А где рекомендует по другому? И где ваша рекомендация))?По другому рекомендуется, чуть-ли не в любой книжке, или мануале по ASP.NET. А моя "рекомендация" выше: делайте "одно соединение открыть при запуске приложения и закрыть при закрытии", в чём проблема? P.S.: и эта тема не раз уже в данном разделе обсуждалась. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.12.2017, 22:52 |
|
Одно соединение с БД для разных окон.
|
|||
---|---|---|---|
#18+
skyANAПо другому рекомендуется, чуть-ли не в любой книжке, или мануале по ASP.NET. мы вроде в топике про десктоп и винФормс skyANAПо другому рекомендуется, чуть-ли не в любой книжке, или мануале по ASP.NET. отвечу в вашем стиле: Где эти рекомендации? skyANAА моя "рекомендация" выше замечательно. И не возбуждайтесь когда советуют другие. skyANAP.S.: и эта тема не раз уже в данном разделе обсуждалась. аж интересно, что плохого в совете Cat2 или моём. У меня проект именно так и работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2017, 00:09 |
|
Одно соединение с БД для разных окон.
|
|||
---|---|---|---|
#18+
skyANAА моя "рекомендация" выше: делайте "одно соединение открыть при запуске приложения и закрыть при закрытии", в чём проблема? и садомазо при обрыве соединения ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2017, 01:24 |
|
Одно соединение с БД для разных окон.
|
|||
---|---|---|---|
#18+
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. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2017, 11:19 |
|
Одно соединение с БД для разных окон.
|
|||
---|---|---|---|
#18+
Petro123skyANAПо другому рекомендуется, чуть-ли не в любой книжке, или мануале по ASP.NET. мы вроде в топике про десктоп и винФормсТы спросил: "А где рекомендует по другому?". Вот при разработке веб-приложений рекомендуют по другому. Petro123skyANAПо другому рекомендуется, чуть-ли не в любой книжке, или мануале по ASP.NET. отвечу в вашем стиле: Где эти рекомендации?Чукча не читатель? "в любой книжке, или мануале по ASP.NET". Petro123skyANAА моя "рекомендация" выше замечательно. И не возбуждайтесь когда советуют другие.А я и не возбуждаюсь. Petro123skyANAP.S.: и эта тема не раз уже в данном разделе обсуждалась. аж интересно, что плохого в совете Cat2 или моём. У меня проект именно так и работает.В совете Cat2 ничего плохого и полезная ссылка. А в твоём не понятно что ты имеешь в виду под "получить соединение". Получить можно и уже открытое соединение ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2017, 11:47 |
|
Одно соединение с БД для разных окон.
|
|||
---|---|---|---|
#18+
ИзопропилskyANAА моя "рекомендация" выше: делайте "одно соединение открыть при запуске приложения и закрыть при закрытии", в чём проблема? и садомазо при обрыве соединенияДа бросьте. Ну случится такое раз в год, ну закроет пользователь программулину, откроет заного. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2017, 11:49 |
|
Одно соединение с БД для разных окон.
|
|||
---|---|---|---|
#18+
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. Вы серъёзно уверены, что это имеет какой-то смысл для того, что разрабатывает ТС? За счёт какой такой магии вдруг улучшится производительность и масштабируемость его приложения? С чего вдруг соединение уже будет использоваться и чем, или контекст транзакции будет не тот? У него программулинка из нескольких окон и вангую, что оно будет прекрасно работать, если "одно соединение открыть при запуске ... и закрыть при закрытии". ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2017, 12:09 |
|
Одно соединение с БД для разных окон.
|
|||
---|---|---|---|
#18+
skyANAИзопропилпропущено... и садомазо при обрыве соединенияДа бросьте. Ну случится такое раз в год, ну закроет пользователь программулину, откроет заного. это вместо того чтоб просто взять из пула соединение? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2017, 13:05 |
|
Одно соединение с БД для разных окон.
|
|||
---|---|---|---|
#18+
ИзопропилskyANAпропущено... Да бросьте. Ну случится такое раз в год, ну закроет пользователь программулину, откроет заного. это вместо того чтоб просто взять из пула соединение?Так, давайте разберёмся. Соединения с сервером нет к примеру в течение 5 минут. И что даст пользователю то, что оно берётся из пула? Он что так, что сяк видит ошибку. ТС спрашивает: "Как оптимальнее построить работу с БД?". И пишет: "Мне не хочется создавать в каждом окне свое соеднинение, хочу одно соединение открыть при запуске приложения и закрыть при закрытии.". И вот моё мнение, что для его небольшого приложения, которым не думаю, что будут часто пользоваться, данное решение вполне себе оптимально. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2017, 13:15 |
|
Одно соединение с БД для разных окон.
|
|||
---|---|---|---|
#18+
skyANAВот при разработке веб-приложений рекомендуют по другому. LOL Водку с вином не мешают. Десктоп и веб - разная архитектура. А мы в топике десктоп. Ты совсем мальчик что ле? Сказал бы просто что описался. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2017, 13:25 |
|
Одно соединение с БД для разных окон.
|
|||
---|---|---|---|
#18+
skyANAи вангую "Сложнее всего в мире достигнуть простоты — это крайняя граница опыта и последнее усилие гения". © George Sand. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2017, 13:27 |
|
Одно соединение с БД для разных окон.
|
|||
---|---|---|---|
#18+
Petro123skyANAВот при разработке веб-приложений рекомендуют по другому. LOL Водку с вином не мешают. Десктоп и веб - разная архитектура. А мы в топике десктоп. Ты совсем мальчик что ле? Сказал бы просто что описался.Не красиво на личности переходить, когда сказать нечего. В веб множеству запросов в короткий промежуток времени нужно одно и тоже соединение. Поэтому там и рекомендуют закрывать его как можно быстрее, чтобы оно попало в пул и могло быть использовано. В десктопе же этого нет, а значит в большинстве случаев и нет проблем. А если нет проблем, то не имеет особого смысла следовать рекомендациям по их избеганию ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2017, 14:15 |
|
Одно соединение с БД для разных окон.
|
|||
---|---|---|---|
#18+
skyANAНе красиво на личности переходить, когда сказать нечего. я среагировал только на твой переходу тут: skyANACat2пропущено... Микрософт не рекомендует так делать. У него оптимизировано как раз повторное открытие соединений. Рекомендую прочитать про пулл соединений Где это он не рекомендует? Только не говорите, что тогда ещё интернета не было т.к. сам видел эти рекомендации. Но для тебя это ОБС. Я не против. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2017, 14:37 |
|
Одно соединение с БД для разных окон.
|
|||
---|---|---|---|
#18+
Petro123skyANAНе красиво на личности переходить, когда сказать нечего. я среагировал только на твой переходу тут: skyANAпропущено... Где это он не рекомендует? Только не говорите, что тогда ещё интернета не было т.к. сам видел эти рекомендации. Но для тебя это ОБС. Я не против. 1. Надо понимать почему даются те, или иные рекомендации, а не тупо им следовать. 2. Рекомендации не обязательны к исполнению, на то они и рекомендации. 3. Я так и не увидел ссылку на то, где написано "Мы НЕ рекомендуем так делать". ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2017, 14:45 |
|
Одно соединение с БД для разных окон.
|
|||
---|---|---|---|
#18+
Petro123, согласись, что из рекомендации делать вот так, совершенно не следует, что другое решение не имеет право на жизнь, или будет хуже. Для задачи ТС оно вполне себе оптимально. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2017, 14:53 |
|
Одно соединение с БД для разных окон.
|
|||
---|---|---|---|
#18+
skyANA, соединение денег стоит ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2017, 20:12 |
|
Одно соединение с БД для разных окон.
|
|||
---|---|---|---|
#18+
может у автора выполняются запросы 1000 раз в секунду, тогда не имеет смысла каждый раз открывать\закрывать подключения, если программа делает 1 запрос в час, то смысл держать его открытым не имеет, всё остальное находится посередине :) в чем проблема автора, я не понял. Создайте до того, как создаете окна и передавайте класс для работы с БД в окно :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2017, 20:13 |
|
|
start [/forum/topic.php?fid=20&msg=39570852&tid=1399558]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 165ms |
0 / 0 |