Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Коннект к БД
|
|||
|---|---|---|---|
|
#18+
Всем здраствуйте! У меня такой вопрос: для того чтобы на каждой странице проекта не создавать подключение к бд, я все адаптеры и датасеты объявил в глобал.asax и для всех создал переменные сессий. Хотя этот вариант и рассматривается в книге от microsoft, я так понимаю это не лучший вариант: при большом количестве пользователей рессурсы проекта и машины будут стремиться к 0. Как еще можно обяъвить коннект бд в одном файле а затем использовать его на всех страницах проекта. Можно примеры кода а лучше доку. Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 04:38 |
|
||
|
Коннект к БД
|
|||
|---|---|---|---|
|
#18+
Насколько я понимаю, хранить коннект открытым - "дорогое" удовольствие, т.к. их число ограничено. Может у MS их и много, как денег у BG, но всё же... Я сделал так: написал класс, статическим членом которого является строка ConnectionStr , описывающая подключение к БД. И теперь, когда мне нужно подключение, я использую эту строку CDBConnection.ConnectionStr при создании подключения. И изменить легко - только в одном месте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 06:48 |
|
||
|
Коннект к БД
|
|||
|---|---|---|---|
|
#18+
Можешь скинуть как пример ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 07:39 |
|
||
|
Коннект к БД
|
|||
|---|---|---|---|
|
#18+
2maxapet авторЯ сделал так: написал класс, статическим членом которого является строка ConnectionStr, описывающая подключение к БД. И теперь, когда мне нужно подключение, я использую эту строку CDBConnection.ConnectionStr при создании подключения. И изменить легко - только в одном месте Только 2 замечания: 1.При этом или весь проект или отдельную DLL придётся перекомпилировать и передеплоить на Web сервере. 2.При компиляции стринговые литералы остаются как есть - если Вашу DLL открыть в Notepad, то можно прочесть Connection string ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2004, 22:53 |
|
||
|
Коннект к БД
|
|||
|---|---|---|---|
|
#18+
2 DenVut Это реализация класса: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. а это использование строки: Код: plaintext 2 mikhail_n Спасибо за замечания. 1-е замечание ещё терпимо - врядли будешь каждый день таскать приложение туда-сюда или менять ДБ, а вот второе - существенно. Есть какие-то варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2004, 03:47 |
|
||
|
Коннект к БД
|
|||
|---|---|---|---|
|
#18+
2maxapet А, так у Вас это "server=.;Integrated Security=SSPI;Initial Catalog=test" ну тогда и пусть видно, но вот в случае сиквельной аутентикации это проблема. Я начинал свой первый проект на ASP.NET 1.0 и по ряду причин (юзера разбросаны по многим домейнам и нет желания либо создавать траст либо NT domain accounts в нашем домейне) мы используем Forms authentication с Anonymous access на IIS и без identity impersonation. И если мне не изменяет память, единственным способом заставить работать aspnet_wp.exe под домейн аккаунтом для версии 1.0 было в явном виде прописать этот аккаунт и его пассворд в Machine.config. Microsoft же тогда советовал не делать этого, а продолжать пользоваться ASPNET локальным аккаунтом, а для коннекта к серверу БД создавать одноимённый локальный аккаунт на нём, добавить его в сиквел и вручную синхронизировать пароли. А у нас аудит требует чтобы все пароли раз в месяц менялись. Поэтому мы это дело похерили и создали один сиквельный аккаунт который хранится в зашифрованном виде (Win32 CryptoAPI) в registry на Web сервере. На Web сервере же размещена public assembly которая читает и расшифровывает коннекшн стринг. Поскольку этот сиквельный аккаунт и пасворд к нему хотя и зашифрованные, храняться за пределами сиквела, там где они хпанятся раз в сутки срабатвает cancel application которая от греха подальше меняет пассворд случайным образом и обновляет зашифрованную строку в registry. Дальше, по этому аккаунту доступ разрешён только к одной базе данных, где хранятся только искусственные аккаунты для Forms authentication и hash'ы пассвордов за последние 12 месяцев - юзверя обязаны их менять каждые 30 дней тож, при этом нельзя повторять пассворд в течении года. Так что если даже этот аккаунт будет скомпрометирован, это большая неприятность но не катастрофа. Доступ собственно к базам данных осуществляется через другие сиквельные аккаунты, которые также зашифрованны на CryptoAPI, но храняться уже внутри сиквела по одному на базу чтобы обеспечить разумный коннекш пуллинг и минимизировать ущерб в случае компрометации одного из них. Цель такой архитектуры - возможность менять пассворды и этих аккаунтов не прерывая ни на минуту 7/24 режим работы web приложений. Конечно, эта схема не идеальна, на ASP.NET 1.1 вроде можно гонять aspnet_wp.exe под домейн аккаунтом и криптовать пассворд, но привыкли уже к тому что есть, да и на каждый Microsoft'овский чих не наздравствуешься. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2004, 23:19 |
|
||
|
Коннект к БД
|
|||
|---|---|---|---|
|
#18+
To: mikhail_n Спасибо за интересный рассказ, столько нового для себя узнал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2004, 23:50 |
|
||
|
Коннект к БД
|
|||
|---|---|---|---|
|
#18+
Это что, тонкий сарказм? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2004, 00:15 |
|
||
|
Коннект к БД
|
|||
|---|---|---|---|
|
#18+
To: mikhail_n Конечно, нет. Я такими вещами не занимаюсь. Просто тут встала одна проблема по обеспечению безопасности и я не знал предела, до которого нужно идти... А теперь понял, как мелко и стандартно я мыслил. Лично я посещаю форум из-за таких вот нестандартных и интересных идей. А ответы на любые технические вопросы можно найти в руководствах или на сайте Большого Брата - там все "разжевано" и "разложено" как ни для какого другого средства программирования... Good luck! And thank you very much, indeed! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2004, 12:06 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=32455999&tid=1395862]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
87ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 369ms |

| 0 / 0 |
