Должны ли мы компилировать наш сайт в одну DLL или DLL на страницу?


12

Мы разрабатываем новый проект, который должен быть развернут на большом количестве клиентских сайтов. Проект содержит веб-интерфейс в качестве одной из «точек доступа». Скорость веб-интерфейса является приоритетом для этого проекта, уступая только безопасности.

В прошлом мы всегда создавали «веб-сайты» в Visual Studio, которые при публикации приводят к одному файлу dll и одному файлу aspx для каждой страницы в системе. Тем не менее, я знаю, что вы можете создать «веб-приложение» и скомпилировать все до одной библиотеки DLL.

Для меня (основываясь на отсутствии реальных данных, только на интуиции), составление сайта в виде одной dll звучит так, как будто это было бы лучше как для безопасности, так и для скорости (хотя бы незначительно).

Каковы соображения, на которые мы должны обратить внимание, и есть ли какие-то очевидные подводные камни, о которых мы должны знать при выборе метода, который подходит нам?

Ответы:


4

Если это большое приложение, в вашей бизнес-логике должны быть естественные области разделения (программные уровни, если хотите), которые могут входить в их собственные DLL.

Было бы неплохо, если бы основная функциональность веб-сайта могла бы войти в одну DLL. Это облегчает проблемы развертывания и в любом случае является естественной единицей. Одна DLL на страницу кажется слишком гранулированной.


извините - я должен был упомянуть в вопросе, что сайт является чисто презентационным слоем; Все BL и DL хранятся в отдельных сборках, но ваша вторая часть имеет веские аргументы :)
Sk93

3

Примените концепцию «разделения интересов», если это возможно, это означает, что businesslogic может быть в dll, уровень доступа к данным другой и пользовательский интерфейс для другого ...

это может пригодиться, если вы потеряете исходный код ... когда декомпиляция DLL может быть проще.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.