簡體   English   中英

使用動態/虛擬頁面創建.NET Web應用程序

[英]Creating a .NET Web Application with Dynamic/Virtual pages

我們對創建一個本質上非常動態和通用的Web應用程序有一定的要求,該應用程序具有大量基於配置的功能。

我正在考慮一種體系結構,通過該體系結構,我們可以使用單個動態頁面公開基於Web的功能。 此頁面呈現的功能以及該功能的各個設置都可以通過主XML文件/數據庫進行配置和驅動。

此XML文件/數據庫將具有與基於瀏覽器中的URL呈現頁面的方式有關的所有配置。

因此,我認為我們將有一個URL列表,所有這些URL都需要重定向到此特定頁面。 在此頁面中,我認為我們將檢查當前URL,然后從XML文件/ DB中為該URL選擇相應的設置(如果未找到則不顯示任何內容或標准消息)。

首先,我有兩個問題,我想確定是否可以設置Web應用程序,以便將所有可能的URL解析為特定頁面。

其次,我想知道我提出的方法可能存在什么問題。 可行嗎 優點和缺點等一些一般性的想法和討論將不勝感激。

通常,您正在編寫內容管理系統(CMS)或其中的一個簡化版本。 這些系統存儲配置信息(通常在數據庫中),並使用它來呈現可自定義的頁面。 我會考慮是否只使用一個開箱即用的功能(這將取決於用戶真正希望系統如何配置)。

回答您的特定問題:

“如果有一種方法可以設置Web應用程序,以便所有可能的URL都解析為特定頁面。” -是的,您可以設置一攬子轉發/重新路由/重定向規則。 具體情況取決於您用來承載應用程序的內容。 這是針對IIS( https://technet.microsoft.com/zh-cn/library/cc732969 ( v=ws.10 ) .aspx )。 url都需要放在盒子后面的域中

就利弊而言,這就是我想到的利弊:

  1. 其他人已經編寫了許多樣板代碼。 如果用戶想要非常可定制的內容,則可能要考慮使用某種CMS,然后對其某些組件進行編碼。 這樣,用戶甚至可以設計/發布自己的頁面。 這種方法將使您免於編寫和維護許多自定義代碼(dot net nuke是基於.net的CMS的示例)來處理配置。

  2. 增加了測試范圍。 如果用戶要求X,並且您正在構建X,它也應該支持配置為像Y和Z一樣工作,那么您還需要測試Y和Z。 它是一項前期投資的賭博。

  3. 應用程序的單點故障(如果路由頁面失敗,則所有內容均無法訪問)

  4. 開發者技能集-具有專家和后端開發技能集的全面發展(全棧)開發者比專家更難找到。 如果您要構建一個在UI中動態呈現組件的系統-則其javascript必須非常干凈。

優點:

  1. 對適合您的配置框架的新功能進行編碼應該很容易。

  2. 能夠在運行時引入新功能/組件-如果新組件所需的全部是config和指向它的url,則可以在運行時通過db / config插入將其添加到應用程序中。

  3. 滿足您確切的用戶定制需求。 這是每種自定義方法(相對於現成產品)的“專業”,因為您正在構建應用程序-無需構建任何應用程序,就可以使其適合您正致力於的確切業務流程或用戶體驗。 -在CMS的限制中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM