Sollten wir unsere Website zu einer einzigen DLL oder einer DLL pro Seite zusammenstellen?

12

Wir entwickeln ein neues Projekt, das auf einer großen Anzahl von Kundenstandorten bereitgestellt werden soll. Das Projekt enthält eine webbasierte Benutzeroberfläche als einen seiner "Zugangspunkte". Die Geschwindigkeit des Webinterfaces hat für dieses Projekt Priorität, nach der Sicherheit.

In der Vergangenheit haben wir in Visual Studio immer "Websites" erstellt, deren Veröffentlichung zu einer DLL- und einer ASPX-Datei für jede Seite im System führt. Mir ist jedoch bewusst, dass Sie tatsächlich eine "Webanwendung" erstellen und alles in einer einzigen DLL kompilieren können.

Für mich (basierend auf keinen realen Daten, nur Bauchgefühl) klingt das Kompilieren der Site als einzelne DLL sowohl für die Sicherheit als auch für die Geschwindigkeit besser (wenn auch nur geringfügig).

Welche Überlegungen sollten wir berücksichtigen, und gibt es offensichtliche Fallstricke, die wir bei der Auswahl der für uns geeigneten Methode berücksichtigen sollten?

Sk93
quelle

Antworten:

4

Wenn es sich um eine große Anwendung handelt, sollte es in Ihrer Geschäftslogik natürliche Unterteilungsbereiche geben (Softwareebenen, wenn Sie so wollen), die in ihre eigenen DLLs aufgenommen werden können.

Es wäre schön, wenn die Kernfunktionalität der Website in eine einzige DLL fließen könnte. Es erleichtert die Bereitstellung und ist sowieso eine natürliche Einheit. Eine DLL pro Seite scheint übermäßig detailliert zu sein.

Robert Harvey
quelle
Entschuldigung - ich hätte in der Frage erwähnen sollen, dass es sich bei der Website lediglich um eine Präsentationsebene handelt. Alle BL UND DL werden in getrennten Versammlungen abgehalten, aber Ihr zweiter Teil ist eine gute Argumentation :)
Sk93
3

Wenden Sie, wenn möglich, das Konzept der "Trennung von Bedenken" an, dh die Geschäftslogik könnte sich in einer DLL befinden, die Datenzugriffsebene in einer anderen und die Benutzeroberfläche in einer anderen.

Dies kann nützlich sein, wenn Sie den Quellcode verlieren ... wenn das Dekompilieren der DLL einfacher sein könnte.

aggietech
quelle