将动态aspx页面转换成为静态html页面的几种方法
1.???????? 模版法
該方法歷史悠久,具體處理流程為采用一個(gè)html模版,將其中的關(guān)鍵字替換為我們希望的信息。
優(yōu)點(diǎn):
缺點(diǎn): 所有的信息都要采取字符串批湊的方式來(lái)實(shí)現(xiàn),比如需要一個(gè)列表,就需要拼湊字符串。問(wèn)題是開(kāi)發(fā)周期長(zhǎng),可擴(kuò)展性非常差,而且不易維護(hù),難修改。
2.???????? 截取Control.Render()中的HtmlTextWriter的數(shù)據(jù)。
優(yōu)點(diǎn):
該方法比較方便而且靈活,在開(kāi)發(fā)中不必顧慮動(dòng)態(tài)和靜態(tài)頁(yè)面的統(tǒng)一處理模式?;旧习凑談?dòng)態(tài)頁(yè)面的處理過(guò)程處理就Ok了。
并可在轉(zhuǎn)換為靜態(tài)html頁(yè)面的時(shí)候過(guò)濾掉一些多余的數(shù)據(jù)及在適當(dāng)?shù)牡胤讲迦霐?shù)據(jù)。
數(shù)據(jù)插入可考慮采取在靜態(tài)頁(yè)面中做標(biāo)記的處理方式,如<!—Content Beginà一些正文<!--Content End ?--> ,采取判斷<!-- Content End ?-->標(biāo)記的方式將需要加入的數(shù)據(jù)加入到該標(biāo)記的前面,也可利用該方法替換掉一些在動(dòng)態(tài)頁(yè)面中做好<!-- -->標(biāo)記的原本用于動(dòng)態(tài)回發(fā)等處理的邏輯。
?
方案架構(gòu)一:
l???????? 通過(guò)一個(gè)動(dòng)態(tài)aspx轉(zhuǎn)換html生成器頁(yè)面來(lái)負(fù)責(zé)生成靜態(tài)的頁(yè)面。針對(duì)帖子Topic和論壇列表都有各自的Generator程序。Generator程序?yàn)閍spx類型!執(zhí)行時(shí),將通過(guò)一定的驗(yàn)證模式驗(yàn)證操作是否合法。
l???????? 通過(guò)一個(gè)后臺(tái)線程或者Windows服務(wù)來(lái)跟蹤數(shù)據(jù)庫(kù)中已經(jīng)標(biāo)記好的尚未生成或者已經(jīng)更新的但是也尚未靜態(tài)化的數(shù)據(jù)列表,通過(guò)WebRequest來(lái)訪問(wèn)靜態(tài)頁(yè)面生成器程序,通過(guò)一定的參數(shù)形式將欲生成的數(shù)據(jù)標(biāo)識(shí)和生成動(dòng)作通知給生成器Generator。
l???????? Generator驗(yàn)證請(qǐng)求是否合法,然后執(zhí)行生成動(dòng)作,將動(dòng)態(tài)網(wǎng)頁(yè)生成為靜態(tài)html頁(yè)面。
方案架構(gòu)二:
l???????? 論壇下的大部分動(dòng)態(tài)aspx頁(yè)面其實(shí)都繼承自一個(gè)頁(yè)面生成器基類,該基類正常狀態(tài)下是不激活的。該基類含有能夠生成靜態(tài)html的操作函數(shù)。
l???????? 通過(guò)一個(gè)后臺(tái)線程或者Windows服務(wù)來(lái)跟蹤數(shù)據(jù)庫(kù)中已經(jīng)創(chuàng)建或更新的數(shù)據(jù),根據(jù)數(shù)據(jù)的內(nèi)容通過(guò)WebRequest來(lái)訪問(wèn)動(dòng)態(tài)網(wǎng)頁(yè)的內(nèi)容,并加上特殊的啟動(dòng)生成器基類生成數(shù)據(jù)的標(biāo)記(該標(biāo)記可為加密的驗(yàn)證邏輯)。
l???????? 動(dòng)態(tài)頁(yè)面根據(jù)請(qǐng)求啟動(dòng)生成html的功能,通過(guò)指定的處理類將相應(yīng)的靜態(tài)文件生成到與其路徑完全相同的路徑下。
如處理TopicView.aspx的生成靜態(tài)html的類通過(guò)TopicViewHtmlGenerator類來(lái)處理。
l???????? 該架構(gòu)設(shè)計(jì)靈感參照淘寶的架構(gòu)而來(lái)。
?
與動(dòng)態(tài)網(wǎng)頁(yè)結(jié)合,開(kāi)發(fā)上的顧慮減輕,代碼重復(fù)勞動(dòng)減少,保持面向?qū)ο筇卣鳌?/p>
轉(zhuǎn)載于:https://www.cnblogs.com/sntetwt/archive/2011/04/28/2031993.html
總結(jié)
以上是生活随笔為你收集整理的将动态aspx页面转换成为静态html页面的几种方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                        - 上一篇: 一步一步实现自己的模拟控件(9)——消息
 - 下一篇: 求起风了电影资源要有中英字幕,其他语言的