powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Разделение кода на dll и aspx
10 сообщений из 10, страница 1 из 1
Разделение кода на dll и aspx
    #33669518
PhD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PhD
Гость
Здравствуйте, уважаемые участники форума!

Поделитесь опытом, пожалуйста, как правильно организовать разделение кода и интерфейса? Мне нужно в dll поместить все работу с БД. Как организовать взаимодействие между aspx и dll. И как написать саму dll (просто Windows проект C#, скомпилированный в dll или как)?

Заранее благодарен!

С уважением, PhD
...
Рейтинг: 0 / 0
Разделение кода на dll и aspx
    #33669541
Фотография vbnet2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В ASP2 просто Add New Class. IDE тебе предложит добавить твой класс в App_Code. Туда и сваливай все свои функции общего пользования - они будут доступны с любой странички.

Насчет именно ОТДЕЛЬНОЙ dll - это тоже можно - только сто раз подумай, почему именно тебя не устраивает вышеназванное ОБЫЧНОЕ ШТАТНОЕ РЕШЕНИЕ.

Если ты хочешь DLL делать в отдельном проекте - так смотри какие там будут ссылки. Ссылки на Windows.Forms, например, делают полностью невозможным использование этой DLL в SQL-сервере, не уверен, что в среде IIS получится сработать со ссылкой на Windows.Forms.
...
Рейтинг: 0 / 0
Разделение кода на dll и aspx
    #33669954
Фотография profil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vbnet2000Насчет именно ОТДЕЛЬНОЙ dll - это тоже можно - только сто раз подумай, почему именно тебя не устраивает
вышеназванное ОБЫЧНОЕ ШТАТНОЕ РЕШЕНИЕ.не понятно что вы подразумеваете под штатным решением?
как раз вынос в отдельную библиотеку функционала, который может быть использован во многих проектах (как то классы работы с базой),
имхо, является хорошей практикой

vbnet2000Если ты хочешь DLL делать в отдельном проекте - так смотри какие там будут ссылки. Ссылки на Windows.Forms,
например, делают полностью невозможным использование этой DLL в SQL-сервере, не уверен, что в среде IIS получится сработать со
ссылкой на Windows.Forms.хм... помоему бред


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Разделение кода на dll и aspx
    #33669989
Humpy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С трудом верится что SQL умничает в это смысле проверяя ссылки самостоятельно. IIS точно нет.
.Net начинает искать и грузить длл только когда идет обращение к чему-то, содержащемуся в длл. Пока этого нет, ее может вообще не быть, и никто не заплачет.
Функционал в длл - самое что ни на есть "штатное решение" (еще говорят, best practices :)).

По существу вопроса - для использования длл в приложении надо добавить в приложение ссылку (add reference) на проект длл либо на саму длл. Проект длл делаем как class library.
Для доступа к БД пишем тупые internal static classes, которые умеют только дергать ХП или другой IO. Над ними - public классы предметной области, реализующие, в том числе, кеширование. Все это в длл, которые и используем в приложении, либо в аппсервере, если делаем масштабируемое приложение. Проверено электричеством.
...
Рейтинг: 0 / 0
Разделение кода на dll и aspx
    #33670674
Фотография vbnet2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
С трудом верится что SQL умничает в это смысле проверяя ссылки самостоятельно
Точно. У меня несколько SQL-сборок работаю уже на боевых серверах. С SQL-сборками собаку сьел. Никак там не получается с ПРОИЗВОЛЬНЫМИ ссылками, а так хотелось поначалу...
...
Рейтинг: 0 / 0
Разделение кода на dll и aspx
    #33670742
Ющенко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PhDЗдравствуйте, уважаемые участники форума!

Поделитесь опытом, пожалуйста, как правильно организовать разделение кода и интерфейса? Мне нужно в dll поместить все работу с БД. Как организовать взаимодействие между aspx и dll. И как написать саму dll (просто Windows проект C#, скомпилированный в dll или как)?

Заранее благодарен!

С уважением, PhD

см. пользовательские элементы управления, специальные и составные
...
Рейтинг: 0 / 0
Разделение кода на dll и aspx
    #33672658
Humpy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ющенкосм. пользовательские элементы управления, специальные и составные
А каким боком они относятся к вопросу?
...
Рейтинг: 0 / 0
Разделение кода на dll и aspx
    #33677300
Crypto
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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).
...
Рейтинг: 0 / 0
Разделение кода на dll и aspx
    #33677435
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
самое грамотное решение - это, безуловно, отделение логики от представления. Имхо не важно будет ли эта логика разделена отдельными проэктами (что по-сути более удобно) или в одном проэкте на уровне, например, пространств имен (что менее удобно из-за излишнего загромождения классами, но для небольших проэктов вполне приемлемо).
Насчет тупых 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.
...
Рейтинг: 0 / 0
Разделение кода на dll и aspx
    #33677877
Humpy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я предпочитаю резать по вертикали, отсюда и internal classes - длл тогда содержит BAL и DAL определенной части проекта. С точки зрения абстракции от источника данных это несколько напряжно, но в прикладном проекте обычно абстрагироваться надо только для написания тестов, а это решаемо. Зато удобно разделять работу - обычно ведь один человек или группа делает определенную часть - вот она, выделена в отдельный проект. Дробить это на еще более мелкие части зачастую не имеет смысла. А internal - это для того, чтобы UI программер ни при каких условиях даже не видел объектов DAL :)
И, кстати, речь вовсе не шла о табличных модулях. Всегда стараюсь избегать лишних обращений к данным и по максимуму кешировать и пользоваться данными из кеша, но если уж приходится - тогда стараюсь сделать все в один прием, одной ХП. Иногда получаются причудливые вещи, зато работают весьма шустро :)
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Разделение кода на dll и aspx
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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