Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Разделение кода на dll и aspx
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, уважаемые участники форума! Поделитесь опытом, пожалуйста, как правильно организовать разделение кода и интерфейса? Мне нужно в dll поместить все работу с БД. Как организовать взаимодействие между aspx и dll. И как написать саму dll (просто Windows проект C#, скомпилированный в dll или как)? Заранее благодарен! С уважением, PhD ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2006, 15:58 |
|
||
|
Разделение кода на dll и aspx
|
|||
|---|---|---|---|
|
#18+
В ASP2 просто Add New Class. IDE тебе предложит добавить твой класс в App_Code. Туда и сваливай все свои функции общего пользования - они будут доступны с любой странички. Насчет именно ОТДЕЛЬНОЙ dll - это тоже можно - только сто раз подумай, почему именно тебя не устраивает вышеназванное ОБЫЧНОЕ ШТАТНОЕ РЕШЕНИЕ. Если ты хочешь DLL делать в отдельном проекте - так смотри какие там будут ссылки. Ссылки на Windows.Forms, например, делают полностью невозможным использование этой DLL в SQL-сервере, не уверен, что в среде IIS получится сработать со ссылкой на Windows.Forms. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2006, 16:34 |
|
||
|
Разделение кода на dll и aspx
|
|||
|---|---|---|---|
|
#18+
vbnet2000Насчет именно ОТДЕЛЬНОЙ dll - это тоже можно - только сто раз подумай, почему именно тебя не устраивает вышеназванное ОБЫЧНОЕ ШТАТНОЕ РЕШЕНИЕ.не понятно что вы подразумеваете под штатным решением? как раз вынос в отдельную библиотеку функционала, который может быть использован во многих проектах (как то классы работы с базой), имхо, является хорошей практикой vbnet2000Если ты хочешь DLL делать в отдельном проекте - так смотри какие там будут ссылки. Ссылки на Windows.Forms, например, делают полностью невозможным использование этой DLL в SQL-сервере, не уверен, что в среде IIS получится сработать со ссылкой на Windows.Forms.хм... помоему бред Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2006, 01:33 |
|
||
|
Разделение кода на dll и aspx
|
|||
|---|---|---|---|
|
#18+
С трудом верится что SQL умничает в это смысле проверяя ссылки самостоятельно. IIS точно нет. .Net начинает искать и грузить длл только когда идет обращение к чему-то, содержащемуся в длл. Пока этого нет, ее может вообще не быть, и никто не заплачет. Функционал в длл - самое что ни на есть "штатное решение" (еще говорят, best practices :)). По существу вопроса - для использования длл в приложении надо добавить в приложение ссылку (add reference) на проект длл либо на саму длл. Проект длл делаем как class library. Для доступа к БД пишем тупые internal static classes, которые умеют только дергать ХП или другой IO. Над ними - public классы предметной области, реализующие, в том числе, кеширование. Все это в длл, которые и используем в приложении, либо в аппсервере, если делаем масштабируемое приложение. Проверено электричеством. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2006, 05:25 |
|
||
|
Разделение кода на dll и aspx
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2006, 12:13 |
|
||
|
Разделение кода на dll и aspx
|
|||
|---|---|---|---|
|
#18+
PhDЗдравствуйте, уважаемые участники форума! Поделитесь опытом, пожалуйста, как правильно организовать разделение кода и интерфейса? Мне нужно в dll поместить все работу с БД. Как организовать взаимодействие между aspx и dll. И как написать саму dll (просто Windows проект C#, скомпилированный в dll или как)? Заранее благодарен! С уважением, PhD см. пользовательские элементы управления, специальные и составные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2006, 12:34 |
|
||
|
Разделение кода на dll и aspx
|
|||
|---|---|---|---|
|
#18+
Ющенкосм. пользовательские элементы управления, специальные и составные А каким боком они относятся к вопросу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2006, 10:10 |
|
||
|
Разделение кода на dll и aspx
|
|||
|---|---|---|---|
|
#18+
vbnet2000...Ссылки на Windows.Forms, например, делают полностью невозможным использование этой DLL в SQL-сервере, не уверен, что в среде IIS получится сработать со ссылкой на Windows.Forms. Какая разница, какие dll-ки использует приложение, если это strong-named сборки, значит они должны находится в GAC, если нет, то в локальных каталогах приложения. Конфликтов IIS и Windows.Forms вообще нет, т.к. System.Windows.Forms.dll поставляется вместе с Framework'ом. Правда я не вижу причины использовать классы System.Windows.Forms в ASP.NET-проектах... Насчет хорошей практики разделения кода я согласен с profil. Вообще в любом более менее нормальном проекте помимо слоя представления должно быть как минимум 2 дополнительных уровня, (желательно) выполненных в виде отдельных сборок (dll) - BLL (Business Logic Layer) и DAL (Data Access Layer). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 17:27 |
|
||
|
Разделение кода на dll и aspx
|
|||
|---|---|---|---|
|
#18+
самое грамотное решение - это, безуловно, отделение логики от представления. Имхо не важно будет ли эта логика разделена отдельными проэктами (что по-сути более удобно) или в одном проэкте на уровне, например, пространств имен (что менее удобно из-за излишнего загромождения классами, но для небольших проэктов вполне приемлемо). Насчет тупых internal static classes немного не согласен (хотя это может быть делом вкуса). Предпочитаю не модульные классы (так называемые Table Modules) а бизнес объекты, которые на базовом уровне умеют работать с абстрактным источником данных (не зависимым от провайдера). А на верхнем уровне (конкретные реализации для доступа к отдельной ,например, табличке) содержат всю бизнес-логику/правила. Есть кстати хорошая книга по написанию н-уровневых приложений с использованием бызнес-объектов, правда примеры на vb: Expert One-on-One Visual Basic .NET Business Objects by Rockford Lhotka ISBN:1590591453 _______________________________________________________ Never ask users what they want, or they'll tell you. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 18:09 |
|
||
|
Разделение кода на dll и aspx
|
|||
|---|---|---|---|
|
#18+
Я предпочитаю резать по вертикали, отсюда и internal classes - длл тогда содержит BAL и DAL определенной части проекта. С точки зрения абстракции от источника данных это несколько напряжно, но в прикладном проекте обычно абстрагироваться надо только для написания тестов, а это решаемо. Зато удобно разделять работу - обычно ведь один человек или группа делает определенную часть - вот она, выделена в отдельный проект. Дробить это на еще более мелкие части зачастую не имеет смысла. А internal - это для того, чтобы UI программер ни при каких условиях даже не видел объектов DAL :) И, кстати, речь вовсе не шла о табличных модулях. Всегда стараюсь избегать лишних обращений к данным и по максимуму кешировать и пользоваться данными из кеша, но если уж приходится - тогда стараюсь сделать все в один прием, одной ХП. Иногда получаются причудливые вещи, зато работают весьма шустро :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2006, 00:44 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=33669541&tid=1392675]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
39ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 338ms |

| 0 / 0 |
