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 掉了。那麼如何去避...