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

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

.NET 智能客戶端 ( SmartClient )

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

  簡介
  智能客戶端的概念作為Microsoft.net平臺的一個特性而被提出,其實它的很多功能在傳統的應用程序中早已存在,只是.net平臺從系統和語言級別對它提供了支持,使開發智能客戶端應用程序更為便捷。本文將從企業應用系統的角度來討論智能客戶端應具有的功能和特性以及如何在.net平臺上實現。
  
  概述
  1、當前的客戶端應用程序模型比較
  當前的客戶端應用程序模型大致分為兩種:C/S(客戶端/服務器模型)和B/S(瀏覽器/服務器模型)。以企業環境為對象的軟件開發人員,對于以瀏覽器為基礎的精簡型客戶端 (Thin Client) 應用程序模型,以及對應的豐富型客戶端 (Rich Client) 之間,究竟該如何取舍,面臨了困難的世代替換。
  以瀏覽器為基礎的應用程序的優缺點:
  # 易于安裝:可以用于許多桌上型計算機,并且和客戶機算計的操作平臺無關。大多數計算機已經默認安裝有瀏覽器軟件(有些應用系統需要基于IE瀏覽器,或者需要安裝java虛擬機,在此暫且忽略不及)。
  # 易于部署與維護:只需要在服務器端進行部署和維護工作。
  # 必須在線工作:工作效率和網絡是否延遲有關。
  # 不能充分利用客戶端計算機的資源:只能通過有限的Html語言來呈現用戶界面,沒有利用客戶端計算機的計算處理能力。只能利用瀏覽器的打印功能來打印資料,不適用于企業的報表打印。
  # 網絡傳輸量大:由于客戶端不能保存狀態數據,因此必須在客戶端和服務器之間傳輸用戶界面內容以及所需的數據。
  # 安全性較低。對于服務器來說可以通過防火墻軟件來過濾數據,因為所有傳輸內容都是基于HTTP端口。但很難對數據進行加密和簽名以保證在傳輸過程中的完整性。(HTTPS似乎并不能解決問題)
  # 適合電子商務或不要求嚴格控制客戶端的應用程序。
  豐富型客戶端應用程序的優缺點:
  # 可以離線工作:前提是本地必須有緩存數據的能力,這涉及到與服務器數據同步的問題。
  # 充分利用客戶端計算機的資源:可以為用戶提供豐富的界面元素,可以存取本機磁盤與本機應用程序接口 (API),執行速度較快。
  # 網絡傳輸量較小:只需在客戶端和服務器之間傳輸數據。
  # 安全性較高。可以方便的在客戶端和服務器執行加密和解密操作,同時也可以通過Web Service來消除傳統的應用程序諸如防火墻和HTTP的障礙。
  # 安裝、部署和維護工作較為繁瑣:對客戶端計算機在操作平臺和附加軟件上有一定的限制和要求。
  # 適合企業內部應用程序。
  目前,還有一種不是基于瀏覽器的瘦客戶端應用程序。通過諸如Microsoft Terminal Server、Citrix System的Independent Computing Architecture和MetaFrame產品這樣的技術和工具把它們提供給用戶。這些類型的解決方案可以讓用戶運用胖客戶端的經驗,并通過集中的軟件安裝和維護來進行治理,這對公司來說是很劃算的。這種模式的問題是,當應用程序沒有連接到應用服務器時,用戶就不能用了。客戶端不進行真正的處理,處理完全依靠應用程序服務器,這種情況會導致服務器性能問題,并消耗桌面計算機的CPU周期。
  總之,相對于豐富型客戶端,以瀏覽器為基礎的模型對于信息科技 (IT) 系統治理員而言是非常棒的模型,但對于開發人員與使用者而言卻有很多不足的地方。
  Microsoft .NET Framework 將滿足這三方的需求。它的智能型客戶端應用程序模型結合了豐富型客戶端模型的強大功能與彈性,還有以瀏覽器為基礎之模型的輕易部署與穩定性。
  2、客戶端應用程序還應具備的其他功能
  對于企業應用系統來說,客戶端應用程序作為整個系統與用戶的交互界面,還需要考慮以下
  功能:
  # 安全性:這里的安全性主要是指應用層次的安全性,主要通過用戶權限、角色分配來實現。對于客戶端應用程序來說,通常需要提供一個登錄窗體或登錄頁面來完成用戶身份的認證。對安全性要求較高的應用系統可能還需要通過公共密鑰基礎設施(PKI)為應用提供可靠的安全服務,客戶端則附加了加密簽名模塊。
  # 可擴展性:客戶端應用程序應該具有包含各種不同類型的應用模塊的能力,同時又能在使用過程中的不斷的增加應用來完善整個系統。因此可以將客戶端應用程序設計為一個容器,而各個應用模塊作為組件由容器進行動態加載。
  # 可配置性:由于用戶權限和用戶喜好的不同,客戶端加載的應用組件以及呈現的表現形式都因人而異。需要由應用系統將用戶權限的范圍以及用戶的個性化配置信息傳遞給客戶端,由客戶端應用程序來解釋并呈現相應的用戶界面。
  
  定義
  綜上所述,我們對智能客戶端應用模型下一個概括性的定義:一個可擴展的能集成不同應用的桌面應用程序,并具有以下特征:
  # 無接觸部署:安裝時只要將一個主程序文件下載到本地,直接運行即可,無須改變注冊表或共享的系統組件,其他應用組件將在第一次運行時自動下載。
  # 自動更新:只需將新版本的程序發布在服務器上,由客戶端自動發現最新版本的程序和應用組件,并自動下載和更新。
  # 離線運用:答應脫離服務器時,利用本地的客戶端程序和應用組件進行工作。
  # 動態加載應用組件:應用軟件開發商可根據企業應用系統的公共接口進行開發,然后將應用組件發布在企業的服務器上,客戶端應用程序將自動發現并加載該應用組件。
  # 個性化用戶界面:用戶可根據喜好自行設置客戶端應用程序,配置信息將被保存到服務器上。
  以下我們將以.net平臺WinForms應用程序為例,對上述特征進行具體描述。
  
  .net平臺WinForms應用程序舉例
  
  一、系統需求
  1、客戶端軟件要求
  任何支持 .NET Framework 的操作系統
  已安裝 SP1 的 .NET Framework
  Internet EXPlorer 5.0.1 或更高版本
  2、服務器軟件要求
  自動發布、更新服務器:Microsoft .NET Framework、MDAC2.7、IIS
  
  二、運行方式
  客戶端應用程序有兩種運行方式,不同的運行方式將直接影響以后的程序集發布和更新,以下將具體解釋:
  1、網絡運行
  .NET Framework 安裝提供了一個掛接 Internet Explorer 5.01 和更高版本以偵聽所請求的 .NET 程序集的機制。在請求期間,可執行程序被下載到磁盤上稱為程序集下載緩存的位置(Windows2000下為:C:/Documents and Settings/Administrator /Local Settings/application Data/assembly下的某個子目錄中),同時該程序集本身以及它引用的其他相關程序集也被下載到本地IE緩存中(Windows2000下為:C:/Documents and Settings/Administrator/Local Settings/Temporary Internet Files)。然后,名為 IEExec 的進程在具有有限安全設置的環境中啟動該應用程序。例如:您可以在IE的地址欄中輸入一個已發布在web服務器上的.net可執行程序(http://SmartClient/MyApplication.Exe),IE并不會像其他文件一樣提示您另存為,而是直接執行該程序。
  通過這種方式運行的應用程序擁有非常有限的安全設置(Internet權限集),該權限集中的權限包括:安全性、文件對話框、正在打印、獨立存儲文件、用戶界面。獨立存儲文件答應您的應用程序保存一些數據(Windows2000下為:C:/Documents and Settings/Administrator.TOMATO/Local Settings/Application Data/IsolatedStorage下的某個子目錄中,默認存儲空間大小為10MB),您可以通過System.IO.IsolatedStorage命名空間中的類來保存數據而不會拋出安全異常。
  舉例:
  //按用戶、域、程序集獲取獨立存儲區
  IsolatedStorageFile isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User
   IsolatedStorageScope.Domain IsolatedStorageScope.Assembly, null, null);
  //創建目錄
  isoStore.CreateDirectory("TestDir");
  //創建文件
  IsolatedStorageFileStream isoStream1 = new IsolatedStorageFileStream
  ("TestDir//test.txt", FileMode.Create, isoStore);
  //寫入文件
  StreamWriter writer = null;
  writer = new StreamWriter(isoStream1);
  writer.WriteLine("Hello Isolated Storage");
  writer.Close();
  isoStream1.Close();
  
  為了讓你的智能應用程序運轉,你需要改變一些客戶端的安全設置,實質上就是通知客戶端運行時間相信你的應用程序。一種方法就是將帶有你的程序集的站點添加到IE中可信任站點清單中,然后用安裝在你的治理工具目錄下的Microsoft .NET Framework Configuration工具來修改.NET Framework安全設置。打開Framework Configuration工具,選擇運行庫安全策略,然后選擇調整安全區域。對于受信任站點中指定的所有站點,將信任級別調整到完全信任。作為選擇,你也可以用Framework Configuaration工具來修改安全策略,使它信任你的應用程序的個別程序集。右擊運行庫安全策略,選擇提高程序集的信任級別。
  另一個可選擇的方法就是用代碼組,用Framework Configuration工具來幫助你提高應用系統的程序集的安全設置。你需要讓所有運用你的應用程序的桌面用戶做這種改變。為了幫助完成該任務,Framework Configuration工具可以創建一個包含安全策略的Microsoft Installer (MSI)部署包。MSI安裝了應用程序加載器來分布你的應用程序需要的安全策略和加載器裝配。右擊運行庫安全策略,選擇創建部署包。
  在網絡運行中,自動更新是依靠IE的緩存機制來完成的。即當您需要下載并運行一個應用程序時,IE將向Web服務器發送一個HTTP請求,該請求將獲取服務器上該程序的最新更新日期,假如該日期大于本地緩存的程序的日期或者本地緩存中不存在該程序,則從服務器上下載,否則直接使用本地緩存的程序。因此對于.net本身所具有的版

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 锦屏县| 鄂伦春自治旗| 元阳县| 葵青区| 贵德县| 平江县| 盐边县| 通化县| 望江县| 凤山县| 杂多县| 巴塘县| 得荣县| 威远县| 襄汾县| 富阳市| 广元市| 隆回县| 萝北县| 新津县| 望江县| 监利县| 昂仁县| 张家港市| 台东县| 鄂温| 莎车县| 连南| 阳曲县| 迁西县| 聂拉木县| 西畴县| 鄂州市| 泽州县| 留坝县| 博爱县| 曲松县| 应用必备| 本溪市| 商丘市| 五峰|