下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第一章C/SB/S模式,C/SB/S的優(yōu)缺點。編程端軟件。C/S客戶端〔Client,也叫客戶機〕用于為用戶供給操作,同時向網(wǎng)絡供給懇求效勞的接口;〔Serve負責接收并處理客戶端發(fā)出的效勞懇求B/S通信模型;B/S只使用點是單臺計算機可以訪問任何WebB/SC/SWPFWCFs來訪問TCP/IP網(wǎng)絡模型有四層:應用層,傳輸層,網(wǎng)際層,網(wǎng)絡接口層什么是套接字?套接字有哪幾種類型?答:套接字是支持TCP/IPIPIP地址和端口,同時也保存了雙方通信承受的網(wǎng)絡協(xié)議等信息。套接字有3種類型:流式套接字、數(shù)據(jù)報套接字〕和原始套接字。IP地址轉換與域名解析相關的類都在System.Net命名空間下。IP:在因特網(wǎng)中,每臺聯(lián)網(wǎng)的主機都要有一個在全世界范圍內唯一的標識,該標識稱為IP地址。多播地址在:~55之間。IP地址由網(wǎng)絡號和主機號構成。端口號:用于區(qū)分主機上的那個進程,而引入的的地址空間,叫端口號。IPIPAddress類;IPIPEndPoint類;InternetIntranetIPHostEntry類。IPHostEntry類將一個域名系〔DNS〕的主機名與一組別名和一組匹配的IPDns類一起使用。IPAddress[]ips=Dns.GetHostEntry(“news.sohu”).AddressList;DNSIPAddress[]GetHostAddresses(stringhostNameOrAddress);方法IPhostNameOrAddressIP地址,則直接返回此地址;hostNameOrAddress是空字符串,則返回本地主機的全部IPv4IPv6地址。DNS類的GetHostEntry(Strings):IPHostEntry實例。對網(wǎng)絡流量和本機網(wǎng)絡地址等信息的訪問類都在System.Net.NetworkInformation命名空NetworkInterfaceIPIterfaceProperties〔實例都只能用靜態(tài)方法得到實例,網(wǎng)絡流量用其次章數(shù)字墨跡有哪些用途?一般的WPF元素是否具有數(shù)字墨跡相關的大事?WPF元素都支持數(shù)字墨跡功能。n〔快速訪問工具欄〔應用程序菜單〔選項卡。觸筆〔s〕在畫板上移動時顯示的痕跡叫墨跡筆畫〔e,簡稱筆畫?!病F銬一般用方法獵取靜態(tài)呈現(xiàn)墨跡的方法是自定義從StrokeDrawCore方法。動態(tài)呈現(xiàn)是指在移動觸點的過程中同時呈現(xiàn)墨跡。是將自定義墨跡控件的DynamicRendererDynamicRendererOnDraw方法。制作自定義墨跡畫板的主要設計步驟如下。InkCanvas派生的類。DynamicRendererInkCanvas.DynamicRenderer屬性。OnStrokeCollectedInkCanvas中的原始筆畫,然后創(chuàng)立一個自定義筆畫,將其添加到Strokes屬性中。最終再使用包含該自定義筆畫的InkCanvasStrokeCollectedEventArgs調用基類相應的方法。在OnStylusMove大事中,每次自動收集到的墨跡點的集合中只有兩個點:一個是上次收集的集合中的最終一個點,一個是當前點。第三章簡要答復以下問題。進程和線程有什么區(qū)分?為什么要用多線程?多線程適用于哪種場合?前臺線程和后臺線程有什么區(qū)分和聯(lián)系?如何推斷一個線程屬于前臺線程還是后臺線程?如何將一個線程設置為后臺線程?1〕進程是正在執(zhí)行的程序,線程是某個進程中的一個或多個執(zhí)行流。進程是線程的容器,至少有一個主線程,線程的提出是為了適應程序內部的并行。多線程可讓多個任務同時執(zhí)行。當執(zhí)行需要較長時間才能完成的連續(xù)操作時,或者等待網(wǎng)絡或其他I/O設備相應時,都可以使用多線程技術?!?〕的終止,而前臺線程則會影響進程的終止。只有當屬于某個進程的全部前臺線程都終止后,Thread對象創(chuàng)立的線程默認都是前臺線程,線程池中的以及托管線程都是后臺線程。System.Diagnostics命名空間下的Process類供給了在操作系統(tǒng)級別對進程進展治理的各種屬性和方法。ProcessProcessp=newProcess;//首先需要創(chuàng)立Process類的一個實例p.StartInfo.FileName=“Notepad.exe“;//通過StartInfo屬性指定要運行的應用程序名稱以及傳遞的參數(shù)p.StartInfo.Arguments=argument;//要翻開的文本文件p.StartInfo.WindowStyle=ProcessWindowStyle.Normal;//帶圖形界面的設置p.Start;//啟動進程終止進程有兩種方式:KillCloseMainWindow,Kill方法用于強行終止進程,是終止沒有圖形化界面進程的唯一方法。Kill方法是異步執(zhí)行的,調用WaitForExit方法等待進程退出,或檢查HasExitedCloseMainWindow〔〕方法通過向主窗口發(fā)送關閉消息來關閉進程。此兩種方法都只能對本機進程進展操作。WaitForInputIdle方法僅適用于具有用戶界面的進程,它可以使Process等待關聯(lián)進程進入空閑狀態(tài)。EnableRaisingEventsExitedWaitForExit方法可設置等待關聯(lián)進程退出的時間,并在該段時間完畢前或該進程退出前,阻擋當前線程執(zhí)行。獵取進程信息Process.GetProcesses(stringIP)獵取指定主機的進程,為空時是本地主機的。ProcessGetProcessById(intIDProcessIdProcessProcessGetProcessesByName(stringprocessName)方法返回一個包含全部關聯(lián)進程的數(shù)組,得到該數(shù)組后,可以再依次查詢這些進程中的每一個標識符,從而得到與該進程相關的更多信RefreshProcessInfoSystem.ThreadingThread主線程和關心線程:當程序作為進程來運行時,系統(tǒng)都會為該進程創(chuàng)立一個默認的線程,該線程稱為主線程?;蛘哒f,主線程用于執(zhí)行Main方法中的代碼,當Main方法返回時,主線程也自動終止。在一個進程中,除了主線程之外的其他線程都稱為關心線程。ThreadStarta=newThreadStart(test);//publicvoidtest;ThreadThreadStarta=newThreadStart(test);//publicvoidtest;Threadt=newThread(a);t.Start;//等價于Threadt=newThread(test);t.Start;還有一個系統(tǒng)自定義托付是ParameterizedThreadStart的托付,所執(zhí)行的方法是無返回值的參Object線程啟動即Start方法,假設線程執(zhí)行的托付是無參的則為Start.假設是有參數(shù)的則為Start(Objectobj)。終止或取消線程:1volatile稱為終止線程。2ThreadAbort果是強行終止該線程的執(zhí)行,屬于非正常終止的狀況,稱為取消線程的執(zhí)行休眠線程:調用Thread.Sleep(參數(shù))的線程自己堵塞。什么是線程池?使用線程池有什么好處?線程池適用于執(zhí)行時間短,任務量大的場合。線程池是在后臺執(zhí)行任務的線程集合,好處有:如當某個線程無法進入線程池執(zhí)行時先將其放入等待隊列,自動打算用哪個處理器執(zhí)行線程池中的某個線程,自動調整這些線程執(zhí)行時的負載平衡問題等。另外,線程池總是在后臺異步處理懇求的任務,而不會占用主線程,也不會延遲主線程中后續(xù)懇求的處理。線程池的根本特征:托管線程池中的線程都是后臺線程。添加到線程池中的任務不愿定會馬上執(zhí)行。線程池可自動重用已創(chuàng)立過的線程。一旦池中的某個線程完成任務,它將返回到等待線程隊列中,等待被再次使用,而不是直接銷毀它。開發(fā)人員可設置線程池的最大線程數(shù)。從.NET4.0Thread.QueueUserWorkItem(newWaitCallback)來添加有參數(shù)無返回值的函數(shù)。什么是同步?什么是異步?答:執(zhí)行某語句時,在該語句完成之前不會執(zhí)行其后面的代碼,這種執(zhí)行方式稱為同步執(zhí)行。另一種是執(zhí)行某語句時,不管該語句是否完成,都會連續(xù)執(zhí)行其后面的語句,這種執(zhí)行方式叫異步執(zhí)行。為什么需要同步?C#供給了什么語句可以簡潔地實現(xiàn)代碼同步?的目的是為了防止多個線程同時訪問某些資源時消滅死鎖和爭用狀況。C#供給的lock語句可以簡潔地實現(xiàn)代碼同步。實現(xiàn)資源同步的方式:多線程實現(xiàn)資源同步主要通過加鎖或原子操作來實現(xiàn)。用volatile這樣做的好處是全部處理器都可以訪問該字段最的值。Interlocked類供給的靜態(tài)方法鎖定局部變量,通過加鎖和解鎖供給了原子級別的靜態(tài)操作方法。用lock語句鎖定代碼塊〔了解:lock語句的實現(xiàn)原理是進入臨界區(qū)之前先鎖定某個私有對象〔聲明為private的對象〕,然后再執(zhí)行臨界區(qū)中的代碼,當代碼塊中的語句執(zhí)行完畢后,再自動解除該鎖〕。不允許鎖定聲明為Public為了解決死鎖以及異步執(zhí)行過程中的同步問題,WPF中的每個元素〔包括根元素〕都有DispatchertextBlock1.Dispatcher.Invoke(=>{textBlock1.text=”1”;});什么叫應用程序域?應用程序域和進程有什么區(qū)分和聯(lián)系?和線程呢?答:一個主進程中,可包含一個或多個“子進程”,每個“子進程”所占用的內存范圍〔或者叫邊界〕都稱為一個應用程序域;一個進程既可以只包含一個應用程序域,也可以同時包含多個相互隔離的應用程序域。多進程是在操作系統(tǒng)級別使用的功能,資源消耗較大,細節(jié)把握簡潔;應用程序域是在應用程序級別使用的功能,比直接用多進程來實現(xiàn)進程治理速度快、資源消耗少而且更安全,是輕量級的進程治理。應用程序域和線程的關系:應用程序域為安全性、版本把握、牢靠性和托管代碼的卸載形成隔離邊界,執(zhí)行應用程序時,全部托管代碼均加載到一個應用程序域中,由一個或多個托管線程來運行。應用程序域和線程之間不具有一對一的相關性。域的資源。什么時候使用應用程序域?答:1.當需要動態(tài)擴展程序的功能時,可將其他進程〔.dll文件或者.exe文件〕中的全部或局部功能“嵌入”到當前應用程序進程界面中,使其看起來就像是同一個應用程序一樣〔多進程則無法做到這一點,而且這種實現(xiàn)方式比用多進程實現(xiàn)的運行速度快。在同一個進程內,實現(xiàn)不同域之間的通信比用多進程實現(xiàn)簡潔。在安全性方面,用應用程序域來實現(xiàn)比用多進程來實現(xiàn)更有保障第四章1〔記〕#中的字符和字符串默認承受的都是e編碼。g類位于System.Text〔了解〕EncodingGetEncodings方法可得到一個包含全部編碼的EncodingInfo類型的數(shù)組。也可以利用Encoding類靜態(tài)的GetEndcoingEncodingHeaderNameEncodingName屬性獵取編碼描述。2. publicstaticbyte[]Convert(EncodingsrcEncoding, //源編碼EncodingdstEncoding, //目標編碼byte[]bytes //待轉換的字節(jié)數(shù)組)將字符序列轉換為字節(jié)序列的過程叫編碼,GetBytes的過程叫解碼,GetString。3種:逐字節(jié)挨次寫入〔將數(shù)據(jù)從內存緩沖區(qū)傳輸?shù)酵獠吭础?逐字節(jié)挨次讀取〔將數(shù)據(jù)從外部源傳輸?shù)絻却婢彌_區(qū)〕;隨機讀寫〔從某個位置開頭逐字節(jié)挨次讀或寫〕;FileStream〔stringpath,FileModemode,FileAccessaccess〕;FileMode.Append只能同F(xiàn)ileAccess.WriteFile.OpenRead(Stringpath);創(chuàng)立僅讀取的文件流.〔MemoryStream〕內存流:CanSeektrue程序中可通過Position屬性獵取內存流的當前位置。內存流的容量可自動增長。NetworkStream僅支持面對連接的套接字。留意以下幾點:通過DataAvailable屬性,可查看緩沖區(qū)中是否有數(shù)據(jù)等待讀出.網(wǎng)絡流沒有當前位置的概念,不支持對數(shù)據(jù)流的查找和隨機訪問,NetworkStreamCanSeekfalse.PositionSeekNotSupportedException特別.System.IO下,加密流〔CrytoStream〕System.Security.Cryptography下;publicCryptoStream(Streamstream, //對其執(zhí)行加密轉換的流ICryptoTransformtransform, //要對流執(zhí)行的加密轉換CryptoStreamModemode //CryptoStreamModeReadWrite兩種);StreamReaderStreamWriterNetworkStreamMemoryStreamFileStream實現(xiàn)思路都是先將待寫入的數(shù)據(jù)轉化StreamReaderStreamWriter來簡化。StremReadersr=newStremReader(前三種流對象)。別遺忘Closeusing。為什么要對字符進展編碼和解碼?答:在網(wǎng)絡通信中,很多狀況下通信雙方傳達的都是字符信息。但是,字符信息并不能直接從網(wǎng)絡的一端傳遞到另一端,這些字符信息首先需要被轉換成一個字節(jié)序列,然后才能在網(wǎng)絡中傳輸。因此,發(fā)送方需要進展編碼,相應的接收方就要執(zhí)行解碼。3.簡述對稱加密〔私鑰加密〕和不對稱加密〔公鑰加密〕的特點及實現(xiàn)原理。1〕加密和解密數(shù)據(jù)使用同一個密鑰2〕一次加密一個數(shù)據(jù)塊,因此支持數(shù)據(jù)流。常見的有:DES,RC2,SHA-1,AES;實現(xiàn)由CiperMode.CBC,IV對稱加密算法的優(yōu)點:保密強度高,加、解密速度快,適合加密大量數(shù)據(jù)。對稱加密的缺點:通信雙方使用一樣的密鑰和IV加密和解密,發(fā)送方需要先將密鑰和IV傳遞給接收方。假設攻擊者截獲了密鑰和IV,也就等于知道了如何解密數(shù)據(jù)。不對稱加密密的數(shù)據(jù)只能用私鑰解密,反之,用私鑰加密的數(shù)據(jù)只能用公鑰解密〔用長度固定的緩沖區(qū),因此無法使用流。RSA,ECC不對稱加密的優(yōu)點:更不簡潔被攻擊。不對稱加密的缺點:由于無法使用流,因此不適合加密大量數(shù)據(jù)。來確保密鑰存儲的安全性,這就是密鑰容器的用途。什么是數(shù)字簽名?數(shù)字簽名有什么用途?〔這題了解〕答:在應用程序中,可以利用數(shù)字簽名實現(xiàn)數(shù)據(jù)身份驗證和數(shù)據(jù)完整性驗證。數(shù)據(jù)身份輸過程中是否被修改正。數(shù)字簽名的用途:通過Internet下載文件后,驗證下載的文件是否和原始文件完全一樣。換言之,假設通信雙方期望確保信息是來自對方而不是來自第三方,需要使用數(shù)字簽名進展身份驗證。另外,數(shù)字簽名還可以防止特定一方否認曾發(fā)送過的信息。第五章并發(fā)集合來實現(xiàn)。System.Threading.TasksTask(無返回值)Task<TResult>有返回值類來描述。Task.Delay方法只能用于異步等待,等待過程中不會界面流暢性。Thread.Sleep假設UI操作,休眠期間界面有停頓現(xiàn)象。ActionFunc托付有什么不同?n托付封裝了不帶返回值的方法〔有06個輸入?yún)?shù),返回類型為,托付封裝了帶返回值的方法〔有~6個輸入?yún)?shù),返回類型為。ActionFuncoutref異步編程的實現(xiàn)方式有:傳統(tǒng)的異步編程模型〔APM〕基于大事的異步設計模式〔EAP〕TAP4.TAP有幾種創(chuàng)立任務的方式?4種方式。利用Task.Run方法隱式創(chuàng)立和執(zhí)行任務;此種方式表示使用默認的任務調度程序。asyncawait關鍵字隱式創(chuàng)立異步任務在當前線程中異步執(zhí)行指定方法;WPF控件的調度器隱式創(chuàng)立和執(zhí)行任務;TaskTask<TResult>的構造函數(shù)創(chuàng)立任務WPF應用程序中有幾種可用的定時器?3種。System.Timers.Timer類;System.Windows.Threading.DispatcherTimer類;System.Threading.Timer類。asyncawaitTask.Run調用的異步方法有和不同?asyncawaitC#5.0供給的功能,僅包含asyncawait關鍵字的異步方法不Task.Run方法是.NET框4.5供給的功能,它會在線程池中用單獨的線程執(zhí)行某個任務。把一般方法和異步方法作為任務來執(zhí)行時,調用方法有何不同?一般方法要用Task.RunTaskTask<TResult>TaskTask.Run方法去調用。簡述實現(xiàn)任務的取消功能的機制。答:System.Threading.CancellationTokenSource用于創(chuàng)立取消通知,稱為取消源。System.Threading.CancellationToken構造用于傳播應取消操作的通知,稱為取消令牌。調用任務的代碼在安排任務前,可先用CancellationTokenSource類創(chuàng)立一個取消源
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)學創(chuàng)新研究探索
- 大學生就業(yè)協(xié)議書(2篇)
- 2024年跨境電子商務平臺建設與運營合同
- 2025年電子POS機租賃及系統(tǒng)維護一體化合同3篇
- 電梯維保承包合同
- 簡單的股份轉讓協(xié)議書范本
- 2024年麻石欄桿工程監(jiān)理合同
- 1 我們愛整潔 ( 說課稿)-2023-2024學年道德與法治一年級下冊統(tǒng)編版
- 2024年版物業(yè)管理服務合同詳細條款
- 《勞動合同法》87條
- 小學語文教研組期末考試質量分析
- 《五年級奧數(shù)總復習》精編課件
- TS2011-16 帶式輸送機封閉棧橋圖集
- 校園安全存在問題及對策
- 多聯(lián)機的施工方案與技術措施
- 鉆井作業(yè)常見安全隱患
- 新型肥料配方設計與加工PPT課件
- 國際色卡四色模擬專色CMYK色值對照表
- 裝飾施工階段安全檢查表
- 輥壓成型在汽車輕量化中應用的關鍵技術及發(fā)展-北方工業(yè)大學
- 地理信息系統(tǒng)原理全冊配套完整課件
評論
0/150
提交評論