第4章EEP2019WEB表單基礎設計(下)第4章EEP2019WEB表單基礎設計(下)\4-5Web的版本發佈

4-5Web的版本發佈

 

 

下為EEP2019Web系統開發完畢後所要做的發佈動作,目的是讓開發完成的系統發佈到IIS Server 7上去,說明如下:

q  發佈步驟

 

通常發佈的系統在IIS 伺服器電腦上是沒有安裝Visual Studio 2019開發環境,所以必須在IIS Server那台伺服器做好做以下準備:

 

Step1設定與改變EEPWebClient.exe.config內容。之前的EEPWebClient.exe.config都是設定到自己這台機器127.0.0.1localhost,代表IIS ServerA/P Server是同一台機器。

如果你的IIS ServerA/P Server還是同一台機器,就可以延用127.0.0.1的設定;如果不一樣,就必須設定A/P Server的內部IP Address,如A/P Server192.168.0.160,請將以下兩個IP Address改掉,Port No則保留原來的設定,除非你要更換Port No

4-5-1 設定A/P Server的內部IP Address

Step2將最新的InfoRemoteModule.dllSrvtools.dll,以及InitEEP.exe複製到“..\EEPWebClient\Init路徑下。

這是因為要分發給IIS Server後,必須在IIS Server上執行 InitEEP.EXE,並將InfoRemoteModule.dllSrvtools.dll註冊在IIS ServerGlobal Assembly中。其他的envdte80.dllenvdte.dllGacutil.exe都是系統預設好,而且不會改變的檔案

 

4-5-2 複製到指定路徑

 

設定發佈的參數與模組,來設定那些要跟著發佈,那些不必,因為有些Assembly模組在RunTime的時期中是沒有必要存在的,所以我們如下來進行刪除與整理。

 

Step3我們事先打開Web.config,將圖中紅色的標誌項目全部刪除。但如果要使用CrystalReport,則圖中綠色標誌部分請保留。(即:除了EEP20192dll,以及System開頭的部分,其他都可以刪除。)

 

 

小貼示:

如果要刪除CrystalReport相關項目(沒用到CrystalReprot),請同時將Template路徑下的WReport123同時刪除,或者暫時移動到其他不會被發佈的路徑下。

 

4-5-3設定發佈的參數與模組

 

再來,就是到你所要發佈的IIS Server上打開IIS的設定,如果你想發佈在開發環境這台機器上也是可以,但必須安裝好IIS的服務即可。

 

Step4接著打開IIS的控制台,可以在開始->設定->控制台中,選擇系統管理工具->Internet Information Server,進入後在預設網站上按一下右鍵,選擇執行新增->虛擬目錄,如下圖:

4-5-4 新增虛擬目錄

 

Step5如上,在對話窗中按「下一步(N)」,設定所要發佈的Web路徑名字,如可以設為【EEP2019WEB

 

Step6Browser去瀏覽並選擇實體路徑。例如:【D:\Publish】。

 

4-5-6 設定虛擬目錄

 

Step7更改應用程式連接池的.Net Framework版本為4.0

 

4-5-7 確認.Net Framework的版本號

 

Step8再來,回到我們開發的這台工作站中,並在VS中點一下EEPWebNetClient這個WebSite右鍵,執行Publish WebSite來正式發佈系統。

4-5-8 執行Publish WebSite

 

Step9在下面的對話窗,我們選擇剛剛在IIS中所建立的虛擬路徑。

如果你要發佈在開發環境中的這台就設定為Localhost即可,如果是另一台IIS,請設定發佈到IIS機器上的IP Address,如果是透過Internet遠端就必須使用FTP檔案傳輸協定方式,請在IIS上設定FTP的目錄與此虛擬路徑對應即可,我們是以localhost為例,操作如下:

 


4-5-9 設定FTP的目錄與此虛擬路徑

 

Step10最後按一下【OK】即可,大約等待12分鐘後,就可完成發佈。

 

4-5-10 完成發佈

 

再來就是,如果你發佈的系統是在不同的機器上絕大多數都是如此,所以沒有VS2019的開發環境,則在發佈完成後,我們必須執行一次EEPInit.EXE才能讓InfoRemoteModule.dllSrvtools.dll這兩個系統dll註冊。

 

Step11我們用檔案總管找到IIS Server上的發佈路徑,在此虛擬目錄下有一個Init的子目錄,請執行此InitEEP,先按一下【Apply】並按一下【Install Web Gac】,此目的會將上述的必要dll加入到assembly中。執行時只要設定WebClient Directory指定到所發佈的虛擬目錄即可。


4-5-11 dll註冊

Step12>在IIS 中將這個虛擬目錄轉化為應用程式

Step13打開IE在位址框裏輸入http://localhost/EEP2019WEB/InfoLogin.aspx。或指定的IIS Server網址,即可打開EEP2019所開發的網頁,Web發佈就已經大功告成。如下圖:

 

4-5-13 發佈網頁

q  例外處理

 

在發佈過程中,由於不同的OS與不同的環境會有不少差異,再次說明例外的處理方式,供排除問題。

 

Œ  如果瀏覽網頁出現Failed to access IIS metabase…….的錯誤訊息,原因可能是IIS Server沒有註冊Asp.Net這個版本,這是因為你可能先安裝好IIS,再安裝.NET 2.0就會發生這個現象。

 

4-5-14 出現Failed to access IIS metabase

 

F     解決辦法如下:

請直接到命令提示下,用CD切換到Windows的目錄,如在“C:\Windows\Microsoft.NET\Framework\v4.0.30319>之下找到一個Aspnet_regiis.exe這個程式,在命令列中輸入並執行“aspnet_regiis.exe –i,出現如圖訊息,重新再瀏覽網頁,就可以了。

4-5-15 執行aspnet_regiis.exe –i

 

  如果發現IIS中的預設網站無法開啟,手動重新開啟時出現0X8ffe2740錯誤。

 

F  解決辦法:

可能的原因是80埠被其他程式佔用,可先選擇80以上的埠,開啟後再恢復;如果同時運行Skype,也可能是Skype的原因,可先關閉Skype,然後再開啟。

 

Ž   如果在進入InfoLogin.aspx前發生了類似這樣的“ErrorCan’t access file C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\ Temporary ASP.NET Files\XXXXX時,就代表你無法存取.NET所緩存的暫存檔案,必須在這個目錄上做安全設定,說明如下:

 

F  解決辦法:

這是因為ASP .NET會在IIS Server建一個Cache的目錄,因此這個Cache的目錄要開放權限,請用“我的電腦”並將目錄指向C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319這個目錄下,對Temporary ASP.NET Files這個目錄設定使用者的權限,如圖,將Users設定可以寫入與修改的權限。

4-5-16 設定使用者的權限

 

小貼示:

如果在上述的步驟中看不到安全性的頁籤,請在上述的檔案總管的功能表中,執行工具->資料夾選項->檢視頁籤,將使用簡易檔案共用(建議使用)的勾選拿掉,不選擇此選項,如圖,按下【確定】後,即可顯示出此安全性的頁籤,來對此目錄設定進階的安全權限設定。

4-5-17 顯示安全性頁籤

 

Top of Page