讓你的web程式「動」起來。

2022-02-02 01:58:06 字數 3394 閱讀 3397

看到這裡你可能會問,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

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.aspx 頁面

這是我們目前的程式需求情況,生成index的html模板

這時候發布web程式。

可是突然需求該了,或者說是模板改變了,如果我們的生成html、模板的程式是寫死了在**裡面的話,那麼這時候我們肯定需要更改**,。然後編譯。,再次發布。根據資料生成最新模板頁面;

很麻煩是嘛。

但是我們做成了指令碼生成後,

我們把這兩個檔案複製,拷貝一次,修改一下,換成

qq版本

當然需要修改一下指令碼檔案的命名空間

生成了qq版本的靜態頁面了。

我們把同樣的**在複製乙份,建立mobile版本;

再次生成,就完成了各個版本的靜態頁生成。

讓ProgressPar動起來

一.如果是單純的讓其動起來只用在載入時 duration duration new duration timespan.fromseconds 10 doubleanimation doubleanimation new doubleanimation 100.0 duration progbar....

溝通 讓你的團隊動起來

溝通 讓你的團隊動起來 良好的溝通管理,不僅反映了組織中管理人員的管理和協調能力,更體現了完善的企業制度和健康的企業文化。從公司的組織角度來考慮,必須要有一套有效的溝通措施和資訊交流渠道,保證員工能了解 掌握公司的發展戰略 目標 目的和計畫,向員工通報公司的經營活動情況 面臨的問題,所取得的成就 業...

讓你和辦公室動起來

e世代辦公室職業病療方 讓你和辦公室動起來 專家說,辦公室的陳設恰當,有助於減輕肌肉的疲勞。許多上班族一天工作下來,都會感到腰痠背痛,這是由於長期處於某種姿勢,缺乏運動的結果。專家表示,其實只要稍微改變一下生活方式,還有辦公室的陳設,就能紓解這些疼痛。美國紐約的矯正外科醫生大衛蘭伯特博士表示,多做運...