看到這裡你可能會問,asp.net程式本身就是動態**,還要如何動?
我這裡所謂的動起來,是指動態載入,動態更新。好吧可能你又要問了動態**本來就是動態載入,動態更新的。asp.net的程式依附於iis(當然不是唯一)執行的,有**的更新,只需要拷貝到對應的目錄下面。重新整理介面就載入最新程式了。無需重啟iis。
但是我這裡所說的是動態載入指令碼。這裡的指令碼是c#的類檔案(*.cs)檔案動態編譯加入記憶體執行例項。
可能有人要問,這個有什麼必要????
如果程式有修改,修改-編譯-拷貝。就是最新程式,不會影響線上程式。可是你想想,如果是乙個很小的問題呢?如果因為不同的需求變更,很小的**修改就行。那有必要編譯**,上傳檔案嘛?
又或者你現在身邊的電腦沒有編譯工具,但是需要需改程式的某些功能,在允許範圍內情況下,你該怎麼辦?
也許你說這些都是無聊的。沒有必要,沒有使用場景~!、
好吧,我只能說你沒有遇到而已,你問問你身邊管理發布程式部署程式的人,他們的難處吧,每一次小小的bug更新,都要拷貝多個檔案上傳至伺服器是一件多麼麻煩的事情。
好吧。不廢話了,我來來講講為什麼我要寫這篇文章,我是遇到了什麼情況吧。
這段時間,我給乙個公司的門戶**改版,前台的展示頁面要求純靜態頁面。
純靜態頁面也就要求在後台更新了**內容以後,需要發布生成純靜態頁面放在**目錄下用於訪問~!
我用到的技術就是,通過模板檔案,生成內容頁,然後儲存檔案。
但是模板檔案裡面包含一些內容需要在c#**裡面構建,然後替換模板檔案內容。
c#裡面構建的html裡面或許標籤,或許css樣式。有問題需要更新,或是需求變更需要更新,這個都是常事。但是一旦有更新就去修改**,發布,是一件非常頭疼的事情,我之前就描述過了。
在之前的文章 一步一步開發game伺服器(三)載入指令碼和伺服器熱更新(二)完整版 介紹過如果載入指令碼檔案,可是之前的測試有乙個問題沒有測試過在asp.net下執行。
問題在於讀取本程式載入的引用的程式集問題。
之前查詢引用程式集,的時候查詢了引用的程式集下面引用的程式集,導致在iis載入了一些無法載入的檔案,
foreach (var item in
asss)
}需要改成這樣如下,需要查詢引用程式集下引用的程式集
foreach (var item in
asss)
}我們建立乙個iscript資料夾建立乙個 icreatescript.cs 介面檔案
namespace之前的文章裡面講述了,,就是我定義的指令碼載入器,不知道你載入了那些類,由於是指令碼類不知道類名和例項,所以通過介面控制,也可看作介面程式設計。testwebloadscript.iscripts
}
接下來我們建立乙個 scripts 資料夾 然後建立 pc 檔案 然後下面建立 default資料夾
建立 indexhtml.temp 檔案存放模板**
>我是default版本
title
>
head
>
<
body
>
<
form
id="form1"
>
<
div>
string
%>
div>
form
>
body
>
html
>
上面的 是替換關鍵字
建立 createindexscript.cs 檔案來實現html檔案的建立
namespace建立乙個 index.aspx 頁面testwebloadscript.scripts.pc.default
/scripts/pc/default/indexhtml.temp");
string htmlcontext =system.io.file.readalltext(htmlpath);
using (system.io.streamwriter sw =system.io.file.createtext(filepath))}}
}}
這是我們目前的程式需求情況,生成index的html模板
這時候發布web程式。
可是突然需求該了,或者說是模板改變了,如果我們的生成html、模板的程式是寫死了在**裡面的話,那麼這時候我們肯定需要更改**,。然後編譯。,再次發布。根據資料生成最新模板頁面;
很麻煩是嘛。
但是我們做成了指令碼生成後,
我們把這兩個檔案複製,拷貝一次,修改一下,換成
qq版本
當然需要修改一下指令碼檔案的命名空間
生成了qq版本的靜態頁面了。
我們把同樣的**在複製乙份,建立mobile版本;
再次生成,就完成了各個版本的靜態頁生成。
讓ProgressPar動起來
一.如果是單純的讓其動起來只用在載入時 duration duration new duration timespan.fromseconds 10 doubleanimation doubleanimation new doubleanimation 100.0 duration progbar....
溝通 讓你的團隊動起來
溝通 讓你的團隊動起來 良好的溝通管理,不僅反映了組織中管理人員的管理和協調能力,更體現了完善的企業制度和健康的企業文化。從公司的組織角度來考慮,必須要有一套有效的溝通措施和資訊交流渠道,保證員工能了解 掌握公司的發展戰略 目標 目的和計畫,向員工通報公司的經營活動情況 面臨的問題,所取得的成就 業...
讓你和辦公室動起來
e世代辦公室職業病療方 讓你和辦公室動起來 專家說,辦公室的陳設恰當,有助於減輕肌肉的疲勞。許多上班族一天工作下來,都會感到腰痠背痛,這是由於長期處於某種姿勢,缺乏運動的結果。專家表示,其實只要稍微改變一下生活方式,還有辦公室的陳設,就能紓解這些疼痛。美國紐約的矯正外科醫生大衛蘭伯特博士表示,多做運...