常用生成靜態頁面解決方案

2021-06-15 21:01:03 字數 2143 閱讀 2594

2023年01月27日 星期六 11:11

如果你的**有生成靜態頁面的必要(個人認為如果能合理快取定態頁面效能應該比使用靜態頁高^_^),可以參考以下兩種方案.

方案1:使用模版頁關鍵字替換

以下是核心**:

using system;

using system.text;

using system.io;

using system.text.regularexpressions;

using system.collections.specialized;

/// 

///根據模板頁生成靜態頁

/// 

public class statichtml

", replacetaget,regexoptions.multiline);

/*// 如果需要寫檔案 ,可參照

string htmlfilename = datetime.now.tostring("yyyymmddhhmmss") + ".html";

streamwriter sw = new streamwriter(path + htmlfilename , false, encoding.utf8); 

sw.write(resltstring); 

sw.flush(); 

sw.close();*/

return resltstring;}

//將單個標籤替換成動態資料

static string replacetaget(match taget)

else

return taget.value;}}

方案2:模擬請求動態頁面,獲取其輸出的html,儲存為靜態頁面。

以下是核心**:

using system;

using system.data;

using system.web;

using system.net;

using system.io;

using system.text;

/// 

/// statichtml2 的摘要說明

/// 

public class statichtml2}

測試**:

default.aspx

<%@ page language="c#" autoeventwireup="true"  codefile="default.aspx.cs" inherits="_default"  debug="true"%>

">

" >

default.aspx.cs

using system;

using system.data;

using system.configuration;

using system.web;

using system.web.security;

using system.web.ui;

using system.web.ui.webcontrols;

using system.web.ui.webcontrols.webparts;

using system.web.ui.htmlcontrols;

public partial class _default : system.web.ui.page 

";temp.text =template;

system.collections.specialized.stringdictionary dic = new system.collections.specialized.stringdictionary();

dic.add("title","測試標題");

dic.add("author", "測試作者");

dic.add("content", "測試內容");

string result = statichtml.gethtml(template, dic);

replaceed.text = result;

}} 以上**經本人測試可以正常工作,但實際應用還需根據特定需要改進並完善。祝你編碼愉快~  

高併發解決方案 頁面靜態化

一 什麼是頁面靜態化 簡 單的說,我們如果訪問乙個鏈結 伺服器對應的模組會處理這個請求,轉到對應的jsp介面,最後生成我們想要看到的資料。這其中的缺點是顯而易見的 因為每次請求伺服器都會進行處理,如 果有太多的高併發請求,那麼就會加重應用伺服器的壓力,弄不好就把伺服器 搞down 掉了。那麼如何去避...

高併發靜態頁面化解決方案

一 什麼是頁面靜態化 簡 單的說,我們如果訪問乙個鏈結 伺服器對應的模組會處理這個請求,轉到對應的jsp介面,最後生成我們想要看到的資料。這其中的缺點是顯而易見的 因為每次請求伺服器都會進行處理,如 果有太多的高併發請求,那麼就會加重應用伺服器的壓力,弄不好就把伺服器 搞down 掉了。那麼如何去避...

高併發解決方案 頁面靜態化

一 什麼是頁面靜態化 簡 單的說,我們如果訪問乙個鏈結 伺服器對應的模組會處理這個請求,轉到對應的jsp介面,最後生成我們想要看到的資料。這其中的缺點是顯而易見的 因為每次請求伺服器都會進行處理,如 果有太多的高併發請求,那麼就會加重應用伺服器的壓力,弄不好就把伺服器 搞down 掉了。那麼如何去避...