国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

.NET應用自動部署窗體技術詳解(4)

2019-11-18 12:09:55
字體:
來源:轉載
供稿:網友

  七、部署.NET安全策略
  在前面一節中,我們創建了一個安全策略信任來自http://127.0.0.1的代碼。在實際應用中還存在這樣一個問題,即我們應當方便用戶,不能要求每一個用戶按照同樣的步驟設置安全策略。
  解決辦法很簡單,設置好安全策略之后,我們還可以將安全策略分發給用戶,用戶只需一次點擊就可以完成全部設置。
  首先我們要創建一個部署包,它將通過Windows安裝文件(.MSI)文件把安全策略安裝到用戶的機器上。操作方法是:右擊“運行庫安全策略”,選擇“創建部署包”,如圖12。
  
 .NET應用自動部署窗體技術詳解(4)(圖一)

  
圖12:創建一個部署包

  部署包的安全策略級別分三種:企業,計算機,用戶。本例中,我們創建一個計算機策略的部署包,如圖13。注重部署包的擴展名是.MSI。
  
.NET應用自動部署窗體技術詳解(4)(圖二)

  
圖13:設置要部署的安全策略為“計算機”策略

  創建好部署包之后,可以將它分發給用戶。只要雙擊運行.msi文件,Windows安裝程序就會自動安裝.msi文件中定義的安全策略。另外,網絡治理員還可以通過適當的配置,將配置安全策略的部署包自動發布給每一個用戶。
  八、深入理解Assembly.LoadFrom
  現在,我們來看看用Assembly.LoadFrom從遠程服務器下載一個程序集時背后發生的事情,以下面的代碼為例:
  '指定URL
  Dim URL As String
  URL = _
  "http://localhost/CodeDownLoadDemo/ModuleA.DLL"
  '從指定的URL裝入程序集
  Dim a As [Assembly]
  a = [Assembly].LoadFrom(URL)
  當.NET執行LoadFrom方法時,它訪問http://localhost/CodeDownloadDemo,尋找Web服務器上的ModuleA.dll程序集。在此過程中,.NET會檢查以前是否下載過該程序集,假如從來沒有下載過,.NET就下載該程序集,并把它保存到.NET程序集下載緩沖區。
  第二次運行同樣的代碼時,.NET知道該程序集以前已經下載過一次,假如Web服務器上程序集的版本和本地程序集下載緩沖區中的版本一樣,.NET就使用已經下載到磁盤上的程序集。
  假設我們現在第三次運行上述代碼,.NET檢測到Web服務器上程序集的版本要比本地緩沖的版本新,這時.NET就會重新下載新版的程序集,把它保存到程序集下載緩沖區,并運行它。程序集下載緩沖區是位于/windows/assembly/download的一個非凡文件夾。
  必須指出的是,在比較程序集的本地版本和遠程版本哪一個更新時,.NET的判定依據是程序集的時間標記,而不是程序集的版本號。這一點很重要,非凡地,假如有多個程序員協同開發和編譯程序集,應當注重計算機的時間設置問題。
  九、當Web服務器不可用時
  假如執行Assembly.LoadFrom時,http://localhost/CodeDownLoadDemo/的Web服務器不可用,例如,用戶的Internet連接出了故障,或者用戶正在旅途中使用筆記本,這時應該怎么辦?在這種情況下,LoadFrom執行失敗,用戶不能從遠程服務器上的程序集裝入類。
  有一種解決辦法,雖然不那么完美,但確實行得通,即用戶只要把瀏覽器設置成脫機工作模式就可以了。如此設置之后,Assembly.LoadFrom就自動知道它應該使用程序集的下載緩沖區。
  十、結束語
  上面介紹的所有技術都有一個限制,即假如要讓自動部署技術能夠在用戶的機器上正常發揮,所有機器必須安裝.NET框架。雖然.NET框架是免費的,但不一定每一個用戶都會去安裝它。假如應用程序一定要求用戶下載和安裝20 MB的.NET框架,用戶對應用程序的印象可能會受到影響。
  越來越多的新計算機會預先裝好.NET框架,所以該問題的影響應該越來越小。目前臨時的解決辦法是,用Install Shield或Wise Installer之類的工具創建一個典型配置的.NET框架安裝包,實現.NET框架自動安裝。
  .NET自動部署是一種非常強大的技術,它能夠有效地減少部署胖客戶端程序過程中面臨的問題。充分運用.NET自動部署技術,我們可以保證用戶總是使用最新版本的代碼,卻不必要求用戶頻繁地去訪問某個網站下載更新軟件。
  .NET自動部署技術一項很重要的特性是安全,它使得用戶既可以從指定的遠程地點下載程序,同時有效地保障用戶不會意外地運行來源不明的代碼。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 象州县| 湖州市| 南城县| 宝应县| 犍为县| 平遥县| 桐庐县| 长白| 于田县| 宜兰县| 新平| 靖西县| 东台市| 随州市| 石首市| 东山县| 习水县| 东辽县| 务川| 田东县| 瑞丽市| 榆社县| 威海市| 皮山县| 盘山县| 西华县| 华坪县| 汝城县| 庆城县| 德安县| 安塞县| 兴安盟| 瑞金市| 陆丰市| 阿克陶县| 赤壁市| 滨州市| 辽阳县| 天门市| 敖汉旗| 遵化市|