Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 国产成人免费高清激情视频,91网址免费入口,免费**毛片

          整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          總結(jié).Net基礎(chǔ)知識(shí)-獻(xiàn)給即將入坑的同行們(二期)

          件是不是一種委托?

          委托是一種安全的函數(shù)指針,事件是一種消息機(jī)制

          委托與事件是什么關(guān)系?為什么要使用委托

          委托提供了封裝方法的方式,事件是某動(dòng)作已發(fā)生的說(shuō)明,事件是建立于委托之上的

          程序運(yùn)行時(shí)同一個(gè)委托能夠用來(lái)調(diào)用不同的方法,只要改變它的引用方法即可,因此委托調(diào)節(jié)器用的方法不是在編譯時(shí)決定的,而是在運(yùn)行時(shí)確定的.

          請(qǐng)解釋這種語(yǔ)法現(xiàn)象Session[“name”]=20;

          給類的索引器賦值.

          ASP.Net的身份驗(yàn)證方式有哪些?分別是什么原理?

          Asp.net的身份驗(yàn)證有有三種,分別是"Windows | Forms | Passport",

          window驗(yàn)證: ASP.NET 會(huì)結(jié)合信息服務(wù) (IIS),為每個(gè)用戶開(kāi)啟window帳號(hào),驗(yàn)證其身份,安全性較高。

          forms驗(yàn)證:為每個(gè)登陸用戶寫(xiě)入一個(gè)身份驗(yàn)證票據(jù),在web使用最廣的驗(yàn)證方式,靈活方便。

          passport驗(yàn)證:由 Microsoft 提供的集中身份驗(yàn)證服務(wù),該服務(wù)為成員站點(diǎn)提供單一登錄和核心配置

          什么是code-Behind技術(shù)。

          就是代碼隱藏,在ASP.NET中通過(guò)ASPX頁(yè)面指向CS文件的方法實(shí)現(xiàn)顯示邏輯和處理邏輯的分離,這樣有助于web應(yīng)用程序的創(chuàng)建。比如分工,美工和編程的可以個(gè)干各的,不用再像以前asp那樣都代碼和html代碼混在一起,難以維護(hù)。

          新建一個(gè)VS.Net下的項(xiàng)目。??吹紸SPX,RESX和CS三個(gè)后綴的文件,這個(gè)就是代碼分離。實(shí)現(xiàn)了HTML代碼和服務(wù)器代碼分離,方便代碼編寫(xiě)和整理。

          活動(dòng)目錄。

          活動(dòng)目錄是window2000的最重要的功能??梢詫⒂脩粜畔⑷考善饋?lái),登陸以后可以訪問(wèn)多個(gè)不同的網(wǎng)絡(luò)服務(wù)。。

          活動(dòng)目錄包括兩個(gè)方面:目錄和與目錄相關(guān)的服務(wù)。安裝了活動(dòng)目錄的計(jì)算機(jī)稱為“域控制器”,對(duì)于用戶而言,只要加入并接受域控制器的管理就可以在一次登錄之后全網(wǎng)使用,方便地訪問(wèn)活動(dòng)目錄提供的網(wǎng)絡(luò)資源。對(duì)于管理員,則可以通過(guò)對(duì)活動(dòng)目錄的集中管理就能夠管理全網(wǎng)的資源。

          .Net中讀寫(xiě)XML的類都?xì)w屬于哪些命名空間?

          System.XML命名空間,任何類型的項(xiàng)目都可以通過(guò)System.XML命名空間進(jìn)行XML處理。使用System.Xml命名空間中的XmlDocument類來(lái)操作xml的數(shù)據(jù)

          C#中 Socket所在的命名空間是?

          System.Net.Sockets。 Socket 類為網(wǎng)絡(luò)通信提供了一套豐富的方法和屬性。Socket 類允許您使用 ProtocolType 枚舉中所列出的任何一種協(xié)議執(zhí)行異步和同步數(shù)據(jù)傳輸。

          什么是SOAP,有哪些應(yīng)用。

          SOAP(Simple Object Access Protocol )簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議是在分散或分布式的環(huán)境中交換信息并執(zhí)行遠(yuǎn)程過(guò)程調(diào)用的協(xié)議,是一個(gè)基于XML的協(xié)議。使用SOAP,不用考慮任何特定的傳輸協(xié)議(最常用的還是HTTP協(xié)議),可以允許任何類型的對(duì)象或代碼,在任何平臺(tái)上,以任何一直語(yǔ)言相互通信。這種相互通信采用的是XML格式的消息。

          SOAP 是一種輕量級(jí)協(xié)議,用于在分散型、分布式環(huán)境中交換結(jié)構(gòu)化信息。 SOAP 利用 XML 技術(shù)定義一種可擴(kuò)展的消息處理框架,它提供了一種可通過(guò)多種底層協(xié)議進(jìn)行交換的消息結(jié)構(gòu)。 這種框架的設(shè)計(jì)思想是要獨(dú)立于任何一種特定的編程模型和其他特定實(shí)現(xiàn)的語(yǔ)義。

          如何理解.Net中的垃圾回收機(jī)制。

          垃圾回收器每次進(jìn)行垃圾回收時(shí),對(duì)堆上的對(duì)象進(jìn)行檢查,把沒(méi)有被任何變量引用的對(duì)象銷毀。但并不是檢查堆上的每個(gè)對(duì)象,而是將對(duì)象進(jìn)行分類,將所有對(duì)象分類三代(generation)。生命周期越短(新創(chuàng)建的對(duì)象)代數(shù)越小,反之越大。

          在堆空間不夠用時(shí),垃圾回收器回收垃圾,檢查第0代對(duì)象,如果發(fā)現(xiàn)沒(méi)有被引用的對(duì)象,則標(biāo)記這些為“垃圾”,并銷毀。而幸存的部分的第0代對(duì)象將升級(jí)為第1代對(duì)象,某些標(biāo)記為“垃圾”的對(duì)象也會(huì)幸存而升級(jí)。這時(shí)如果堆空間仍然不夠用(如創(chuàng)建比較大的新對(duì)象),垃圾收集器將會(huì)檢查第1代對(duì)象,將沒(méi)有引用的對(duì)象進(jìn)行銷毀。幸存部分升級(jí)為第2代對(duì)象,當(dāng)內(nèi)存堆空間仍然不夠用時(shí),檢查第2代對(duì)象,不過(guò)第2代對(duì)象檢查后仍然是第2代對(duì)象,不會(huì)繼續(xù)升級(jí)。

          如果發(fā)現(xiàn)內(nèi)存不夠,則垃圾回收器,將全部對(duì)象作為無(wú)效對(duì)象(被回收對(duì)象),然后先將全局變量,static,處于活動(dòng)中的局部變量,以及當(dāng)前CG指針指向的對(duì)象放入一個(gè)表中。然后會(huì)搜索新列表中的對(duì)象所引用的對(duì)象,加入列表中,其他沒(méi)有被加入列表的對(duì)象都會(huì)被回收。

          垃圾回收器優(yōu)化引擎根據(jù)正在進(jìn)行的分配情況確定執(zhí)行回收的最佳時(shí)間。當(dāng)垃圾回收器執(zhí)行回收時(shí),它檢查托管堆中不再被應(yīng)用程序使用的對(duì)象并執(zhí)行必要的操作來(lái)回收它們占用的內(nèi)存。

          三個(gè)generation,當(dāng)每個(gè)generation內(nèi)存滿了的時(shí)候檢查引用,無(wú)引用就回收內(nèi)存

          常用的調(diào)用webservice方法有哪些?

          1.使用WSDL.exe命令行工具。

          2.使用VS.NET中的Add Web Reference菜單選項(xiàng)

          什么是XML?列舉一下你所了解的XML技術(shù)及其應(yīng)用

          XML即可擴(kuò)展標(biāo)記語(yǔ)言。eXtensible Markup Language.標(biāo)記是指計(jì)算機(jī)所能理解的信息符號(hào),通過(guò)此種標(biāo)記,計(jì)算機(jī)之間可以處理包含各種信息的文章等。如何定義這些標(biāo)記,即可以選擇國(guó)際通用的標(biāo)記語(yǔ)言,比如HTML,也可以使用象XML這樣由相關(guān)人士自由決定的標(biāo)記語(yǔ)言,這就是語(yǔ)言的可擴(kuò)展性。XML是從SGML中簡(jiǎn)化修改出來(lái)的。它主要用到的有XML、XSL和XPath等。

          xml可以用來(lái)做網(wǎng)頁(yè)(xslt);xml可以當(dāng)作數(shù)據(jù)庫(kù);xml可以用來(lái)保存對(duì)象的系列化;xml用于配置;用于保存靜態(tài)數(shù)據(jù)類型。接觸XML最多的是web Services和config

          XML 與 HTML 的主要區(qū)別

          1. XML是區(qū)分大小寫(xiě)字母的,HTML不區(qū)分。

          2. XML中,絕對(duì)不能省略掉結(jié)束標(biāo)記。在HTML中,如果上下文清楚地顯示出段落或者列表鍵在何處結(jié)尾,那么你可以省略</p>或者</li>之類的結(jié)束 標(biāo)記。

          3. 在XML中,擁有單個(gè)標(biāo)記而沒(méi)有匹配的結(jié)束標(biāo)記的元素必須用一個(gè) / 字符作為結(jié)尾。這樣分析器就知道不用 查找結(jié)束標(biāo)記了。

          4. 在XML中,屬性值必須在引號(hào)中。在HTML中,引號(hào)是可用可不用的。

          5. 在XML中,所有的屬性都必須帶有相應(yīng)的值。在HTML中,可以擁有不帶值的屬性名。

          C#中property與attribute的區(qū)別,他們各有什么用處,這種機(jī)制的好處在哪里?

          property和attribute漢語(yǔ)都稱之為屬性。

          property一個(gè)是屬性,用于存取類的字段,類向外提供的數(shù)據(jù)區(qū)域,

          attribute一個(gè)是特性,用來(lái)標(biāo)識(shí)類,方法等的附加性質(zhì), 描述對(duì)象在編譯時(shí)或運(yùn)行時(shí)屬性的.

          C#可否對(duì)內(nèi)存進(jìn)行直接的操作?

          這個(gè)問(wèn)題比較難回答,也是個(gè)很大的問(wèn)題。但是可以這樣問(wèn)答。C#是可以對(duì)內(nèi)存進(jìn)行直接操作的,雖然很少用到指針,但是C#是可以使用指針的,在用的時(shí)候需要在前邊加unsafe,,在.net中使用了垃圾回收機(jī)制(GC)功能,它替代了程序員,不過(guò)在C#中不可以直接使用finalize方法,而是在析構(gòu)函數(shù)中調(diào)用基類的finalize()方法。

          用最有效的方法算出2的3次方8等于幾?

          2<<3.

          維護(hù)數(shù)據(jù)庫(kù)的完整性、一致性、你喜歡用觸發(fā)器還是自寫(xiě)業(yè)務(wù)邏輯?為什么

          觸發(fā)器,性能好,事務(wù)性

          ADO.NET相對(duì)于ADO等主要有什么改進(jìn)?

          簡(jiǎn)單的說(shuō),ADO.NET新增dataset等,不需要隨時(shí)保持連接,性能提高.

          1:ADO.Net不依賴于ole db提供程序,而是使用.net托管提供的程序,

          2:不使用com

          3:不在支持動(dòng)態(tài)游標(biāo)和服務(wù)器端游

          4:,可以斷開(kāi)connection而保留當(dāng)前數(shù)據(jù)集可用

          5:強(qiáng)類型轉(zhuǎn)換

          6:xml支持

          您可以通過(guò)將 ADO.NET 的各項(xiàng)功能與 ActiveX 數(shù)據(jù)對(duì)象 (ADO) 的特定功能進(jìn)行比較來(lái)理解 ADO.NET 的功能。

          1、數(shù)據(jù)的內(nèi)存中表示形式

          在 ADO 中,數(shù)據(jù)的內(nèi)存中表示形式為記錄集。在 ADO.NET 中,它為數(shù)據(jù)集。它們之間有重要的差異。

          2、表的個(gè)數(shù)

          記錄集看起來(lái)像單個(gè)表。如果記錄集將包含來(lái)自多個(gè)數(shù)據(jù)庫(kù)表的數(shù)據(jù),則它必須使用 JOIN 查詢,將來(lái)自各個(gè)數(shù)據(jù)庫(kù)表的數(shù)據(jù)組合到單個(gè)結(jié)果表中。 相反,數(shù)據(jù)集是一個(gè)或多個(gè)表的集合。數(shù)據(jù)集內(nèi)的表稱為數(shù)據(jù)表;明確地說(shuō),它們是 DataTable 對(duì)象。如果數(shù)據(jù)集包含來(lái)自多個(gè)數(shù)據(jù)庫(kù)表的數(shù)據(jù),它通常將包含多個(gè) DataTable 對(duì)象。即,每個(gè) DataTable 對(duì)象通常對(duì)應(yīng)于單個(gè)數(shù)據(jù)庫(kù)表或視圖。這樣,數(shù)據(jù)集可以模仿基礎(chǔ)數(shù)據(jù)庫(kù)的結(jié)構(gòu)。

          數(shù)據(jù)集通常還包含關(guān)系。數(shù)據(jù)集內(nèi)的關(guān)系類似于數(shù)據(jù)庫(kù)中的外鍵關(guān)系,即它使多個(gè)表中的行彼此關(guān)聯(lián)。例如,如果數(shù)據(jù)集包含一個(gè)有關(guān)投資者的表和另一個(gè)有關(guān)每個(gè)投資者的股票購(gòu)買(mǎi)情況的表,則數(shù)據(jù)集可能還包含一個(gè)關(guān)系來(lái)連接投資者表的各個(gè)行和購(gòu)買(mǎi)表的對(duì)應(yīng)行。

          由于數(shù)據(jù)集可以保存多個(gè)獨(dú)立的表并維護(hù)有關(guān)表之間關(guān)系的信息,因此它可以保存比記錄集豐富得多的數(shù)據(jù)結(jié)構(gòu),包括自關(guān)聯(lián)的表和具有多對(duì)多關(guān)系的表。

          3、數(shù)據(jù)導(dǎo)航和游標(biāo)

          在 ADO 中,您使用 ADO MoveNext 方法順序掃描記錄集的行。在 ADO.NET 中,行表示為集合,因此您可以像依次通過(guò)任何集合那樣依次通過(guò)表,或通過(guò)序號(hào)索引或主鍵索引訪問(wèn)特定行。DataRelation 對(duì)象維護(hù)有關(guān)主記錄和詳細(xì)資料記錄的信息,并提供方法使您可以獲取與正在操作的記錄相關(guān)的記錄。例如,從 Investor 表的"Nate Sun"的行開(kāi)始,可以定位到 Purchase 表中描述其購(gòu)買(mǎi)情況的那組行。

          "游標(biāo)"是數(shù)據(jù)庫(kù)元素,它控制記錄導(dǎo)航、更新數(shù)據(jù)的能力和其他用戶對(duì)數(shù)據(jù)庫(kù)所做更改的可見(jiàn)性。ADO.NET 不具有固有的游標(biāo)對(duì)象,而是包含提供傳統(tǒng)游標(biāo)功能的數(shù)據(jù)類。例如,在 ADO.NET DataReader 對(duì)象中提供只進(jìn)、只讀游標(biāo)的功能。有關(guān)游標(biāo)功能的更多信息,請(qǐng)參見(jiàn)數(shù)據(jù)訪問(wèn)技術(shù)。

          4、將打開(kāi)連接的時(shí)間降至最低

          在 ADO.NET 中,打開(kāi)連接的時(shí)間僅足夠執(zhí)行數(shù)據(jù)庫(kù)操作,例如"選擇"(Select) 或"更新"(Update)。您可以將行讀入數(shù)據(jù)集中,然后在不保持與數(shù)據(jù)源的連接的情況下使用它們。

          在 ADO 中,記錄集可以提供不連接的訪問(wèn),但 ADO 主要是為連接的訪問(wèn)設(shè)計(jì)的。

          ADO 和 ADO.NET 中的不連接處理之間存在一個(gè)顯著差異。在 ADO 中,通過(guò)調(diào)用 OLE DB 提供程序來(lái)與數(shù)據(jù)庫(kù)通信。但在 ADO.NET 中,您通過(guò)數(shù)據(jù)適配器(OleDbDataAdapter、SqlDataAdapter、OdbcDataAdapter 或 OracleDataAdapter 對(duì)象)與數(shù)據(jù)庫(kù)通信,這將調(diào)用 OLE DB 提供程序或基礎(chǔ)數(shù)據(jù)源提供的 API。ADO 和 ADO.NET 之間的主要區(qū)別在于:

          在 ADO.NET 中,數(shù)據(jù)適配器允許您控制將對(duì)數(shù)據(jù)集所做的更改傳輸?shù)綌?shù)據(jù)庫(kù)的方式,方法是實(shí)現(xiàn)性能優(yōu)化、執(zhí)行數(shù)據(jù)驗(yàn)證檢查或添加其他任何額外處理。

          注意:數(shù)據(jù)適配器、數(shù)據(jù)連接、數(shù)據(jù)命令和數(shù)據(jù)讀取器是組成 .NET Framework 數(shù)據(jù)提供程序的組件。Microsoft 和第三方供應(yīng)商可能會(huì)提供其它提供程序,這些提供程序也可集成到 Visual Studio 中。有關(guān)不同 .NET 數(shù)據(jù)提供程序的信息,請(qǐng)參見(jiàn) .NET 數(shù)據(jù)提供程序。

          5、在應(yīng)用程序間共享數(shù)據(jù)

          在應(yīng)用程序間傳輸 ADO.NET 數(shù)據(jù)集比傳輸 ADO 不連接的記錄集要容易得多。若要將 ADO 不連接的記錄集從一個(gè)組件傳輸?shù)搅硪粋€(gè)組件,請(qǐng)使用 COM 封送。若要在 ADO.NET 中傳輸數(shù)據(jù),請(qǐng)使用數(shù)據(jù)集,它可以傳輸 XML 流。 相對(duì)于 COM 封送,XML 文件的傳輸提供以下便利之處:

          更豐富的數(shù)據(jù)類型 COM 封送提供一組有限的數(shù)據(jù)類型(由 COM 標(biāo)準(zhǔn)定義的那些類型)。由于 ADO.NET 中的數(shù)據(jù)集傳輸基于 XML 格式,所以對(duì)數(shù)據(jù)類型沒(méi)有限制。因此,共享數(shù)據(jù)集的組件可以使用這些組件一般會(huì)使用的任何豐富的數(shù)據(jù)類型集。

          6、性能

          傳輸大型 ADO 記錄集或大型 ADO.NET 數(shù)據(jù)集會(huì)使用網(wǎng)絡(luò)資源;隨著數(shù)據(jù)量的增長(zhǎng),施加于網(wǎng)絡(luò)的壓力也在增加。ADO 和 ADO.NET 都使您可以最大限度地降低所傳輸?shù)臄?shù)據(jù)。但

          ADO.NET 還提供另一個(gè)性能優(yōu)勢(shì):ADO.NET 不需要數(shù)據(jù)類型轉(zhuǎn)換。而需要 COM 封送來(lái)在組件間傳輸記錄集的 ADO,則需要將 ADO 數(shù)據(jù)類型轉(zhuǎn)換為 COM 數(shù)據(jù)類型。

          7、穿透防火墻

          防火墻可以影響試圖傳輸不連接的 ADO 記錄集的兩個(gè)組件。請(qǐng)記住,防火墻通常配置為允許 HTML 文本通過(guò),但防止系統(tǒng)級(jí)請(qǐng)求(如 COM 封送)通過(guò)。 因?yàn)榻M件使用 XML 交換 ADO.NET 數(shù)據(jù)庫(kù),所以防火墻可以允許數(shù)據(jù)集通過(guò)。

          ASP.Net與ASP相比,主要有哪些進(jìn)步?

          asp解釋型,aspx編譯型,性能提高,有利于保護(hù)源碼

          ASP的缺點(diǎn):

          l VBScript和JavaScript是在ASP中僅可使用的兩種腳本語(yǔ)言。它們是基本的非類型化語(yǔ)言。在ASP中不能使用強(qiáng)類型語(yǔ)言.

          l ASP頁(yè)面需要解釋,使得它執(zhí)行速度較慢。

          l ASP頁(yè)面非常凌亂。

          l 在使用ASP創(chuàng)建WEB應(yīng)用程序時(shí),程序員和設(shè)計(jì)人員必須在同一文件上一起工作。

          l 在ASP中,必須通過(guò)編寫(xiě)代碼來(lái)提供所需的任何功能。

          l 在ASP中沒(méi)有對(duì)代碼給予太多的關(guān)注。

          l 在ASP中沒(méi)有調(diào)試機(jī)制。

          l 在ASP中。必須停止WEB服務(wù)器才能安裝DLL的新版本,并且在應(yīng)用程序中使用DLL的新版本之前,必須先在注冊(cè)表中注冊(cè)它,而且,DLL注冊(cè)過(guò)程非常復(fù)雜。

          ASP.NET的優(yōu)點(diǎn):

          l ASP.Net中支持強(qiáng)類型語(yǔ)言.

          l ASP.Net頁(yè)將被編譯而不是解釋,這樣它們的執(zhí)行速度就比ASP頁(yè)快。

          l ASP.Net提供聲明性服務(wù)器控件。

          l ASP.Net通過(guò)繼承機(jī)制來(lái)支持代碼的重用。

          l ASP.Net具有Trace的內(nèi)置方法,可以幫助對(duì)頁(yè)面進(jìn)行調(diào)試。

          l 在ASP.Net中,置于應(yīng)用程序的BIN目錄中的任何組件將自動(dòng)對(duì)應(yīng)用程序可用.

          你對(duì)XML,HTTP、WEBSERVICE了解嗎?簡(jiǎn)單描述其特點(diǎn)、作用

          xmlhttp可以主動(dòng)獲取遠(yuǎn)端web代碼,類似HttpWebRequest

          存儲(chǔ)過(guò)程和函數(shù)的區(qū)別

          存儲(chǔ)過(guò)程是編譯好的存儲(chǔ)在數(shù)據(jù)庫(kù)的操作,函數(shù)不用說(shuō)了。

          Session,ViewState,Application,cookie的區(qū)別?

          Session:用于保持狀態(tài)的基于 Web 服務(wù)器的方法。Session 允許通過(guò)將對(duì)象存儲(chǔ)在Web 服務(wù)器的內(nèi)存中在整個(gè)用戶會(huì)話過(guò)程中保持任何對(duì)象。主要用于保持代碼隱藏類中對(duì)象的狀態(tài)。為每個(gè)用戶創(chuàng)建的,用于存儲(chǔ)單個(gè)用戶,因?yàn)樗窍鄬?duì)每個(gè)用戶的.所以可能來(lái)取得在線人數(shù)等。

          ViewState:主要用于保持 Web 頁(yè)上控件的狀態(tài)。當(dāng) Web 頁(yè)上的控件被綁定到代碼隱藏類中的對(duì)象。

          Application用于存儲(chǔ)所有用戶都可視的信息.所以它存儲(chǔ)的是要讓所有用戶共享的一些信息.如總訪問(wèn)數(shù)等Cache,頁(yè)面緩存。

          Cookie:通常我們都把它放在客戶端,也可以存儲(chǔ)在服務(wù)器端。主要用它存儲(chǔ)用戶的個(gè)性設(shè)制,和登陸信息。

          請(qǐng)說(shuō)明在.Net中常用的幾種頁(yè)面間傳遞參數(shù)的方法,并說(shuō)出他們的優(yōu)缺點(diǎn)。

          1、queryString url參數(shù) 簡(jiǎn)單,顯示于地址欄,長(zhǎng)度有限

          優(yōu)點(diǎn):簡(jiǎn)單易用;資源占用比較少。

          缺點(diǎn):傳遞數(shù)據(jù)大小有限制,只能傳遞基本類型的數(shù)據(jù),安全性差

          2、session(viewstate)

          優(yōu)點(diǎn):簡(jiǎn)單,靈活性強(qiáng),能傳遞復(fù)雜的對(duì)象

          缺點(diǎn):但易丟失,資源消耗大

          3、cookie

          優(yōu)點(diǎn):簡(jiǎn)單,

          缺點(diǎn):但可能不支持,可能被偽造,大小有限制不能超過(guò)4KB 不恩能夠存儲(chǔ)復(fù)雜對(duì)象

          4、this.Server.Transfer,

          優(yōu)點(diǎn):URL地址不變,安全性高,靈活性強(qiáng),能傳遞復(fù)雜的對(duì)象

          缺點(diǎn):資源消耗大

          5、hidden control/viewstate 簡(jiǎn)單,可能被偽造

          6、static member。

          7、cache

          8、application

          優(yōu)點(diǎn):全局

          缺點(diǎn):資源消耗大

          9、DataBase 數(shù)據(jù)庫(kù) 穩(wěn)定,安全,但性能相對(duì)弱

          10、xml or other Files

          11、XMLHTTP or Hidden iFrame/frame

          12、Context.user.identity

          我正在做一個(gè)通用提示頁(yè)面,所有頁(yè)面出現(xiàn)問(wèn)題都要,傳遞幾個(gè)變量字符串到同一個(gè)頁(yè)面 hitMsg。aspx變量字符串包括提示語(yǔ)言,即將跳轉(zhuǎn)的頁(yè)面,跳轉(zhuǎn)時(shí)間。在上面的種方案中哪個(gè)更好些?

          (1)queryString的毛病是無(wú)法傳遞很長(zhǎng)字符串,比如系統(tǒng)錯(cuò)誤信息往往就一整個(gè)屏幕。

          (2)session的毛病是不能過(guò)多使用,容易丟失。

          (3)cookie的毛病是依賴客戶端設(shè)置,不可靠。

          (4)server.transfer的毛病是接收頁(yè)面要為發(fā)送頁(yè)面準(zhǔn)備好,只能定制專門(mén)一個(gè)頁(yè)面接受定制好的頁(yè)面。不能是一個(gè)頁(yè)面接受任何頁(yè)面。

          (5)hidden control/viewstate只能傳遞本頁(yè)。除非特殊制作。

          (6)static member。無(wú)法保證線程安全,可能會(huì)此處栽瓜他處得豆。

          (7)cache不適合使用一次就扔的變量。

          (8)application全局的,開(kāi)銷大。

          (9)DataBase全局固化的,開(kāi)銷更大,除非做日志跟蹤。

          (10)xml or othe Files全局固化的,開(kāi)銷大,除非做日志跟蹤。

          (11)XMLHTTP or Hidden iFrame/frame,做這個(gè)過(guò)于煩瑣。

          (12)Context這個(gè)占用了用戶id,不適合做這個(gè)。

          如果在一個(gè)B/S結(jié)構(gòu)的系統(tǒng)中需要傳遞變量值,但是又不能使用Session、Cookie、Application,您有幾種方法進(jìn)行處理?

          input type="hidden" 簡(jiǎn)單,可能被偽造

          url參數(shù) 簡(jiǎn)單,顯示于地址欄,長(zhǎng)度有限

          數(shù)據(jù)庫(kù) 穩(wěn)定,安全,但性能相對(duì)弱

          this.Server.Transfer,在新頁(yè)面獲得值的代碼如下:

          if (Page.PreviousPage != null)

          {

          TextBox st =

          (TextBox)Page.PreviousPage.FindControl("TextBox1");

          if (st != null)

          {

          Label1.Text = SourceTextBox.Text;

          }

          }

          .什么是webservice?

          WebService是一個(gè)SOA(面向服務(wù)的編程)的架構(gòu),它是不依賴于語(yǔ)言,不依賴于平臺(tái),可以實(shí)現(xiàn)不同的語(yǔ)言間的相互調(diào)用,通過(guò)Internet進(jìn)行基于Http協(xié)議的網(wǎng)絡(luò)應(yīng)用間的交互。 WebService實(shí)現(xiàn)不同語(yǔ)言間的調(diào)用,是依托于一個(gè)標(biāo)準(zhǔn),webservice是需要遵守WSDL(web服務(wù)定義語(yǔ)言)/SOAP(簡(jiǎn)單請(qǐng)求協(xié)議)規(guī)范的。 WebService=WSDL+SOAP+UDDI(webservice的注冊(cè))Soap是由Soap的part和0個(gè)或多個(gè)附件組成,一般只有part,在part中有Envelope和Body。 Web Service是通過(guò)提供標(biāo)準(zhǔn)的協(xié)議和接口,可以讓不同的程序集成的一種SOA架構(gòu)。

          Web Service的優(yōu)點(diǎn)

          • 可以讓異構(gòu)的程序相互訪問(wèn)(跨平臺(tái))
          • 松耦合
          • 基于標(biāo)準(zhǔn)協(xié)議(通用語(yǔ)言,允許其他程序訪問(wèn))

          Web Service的基本原理

          • Service Provider采用WSDL描述服務(wù)
          • Service Provider 采用UDDI將服務(wù)的描述文件發(fā)布到UDDI服務(wù)器(Register server)
          • Service Requestor在UDDI服務(wù)器上查詢并 獲取WSDL文件
          • Service requestor將請(qǐng)求綁定到SOAP,并訪問(wèn)相應(yīng)的服務(wù)。

          什么是SOAP?

          SOAP請(qǐng)求(Simple Object Access Protocol,簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議)是HTTP POST的一個(gè)專用版本,遵循一種特殊的XML消息格式,Content-type設(shè)置為:text/xml ,任何數(shù)據(jù)都可以XML化。 SOAP:簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議。SOAP是一種輕量的,簡(jiǎn)單的,基于XML的協(xié)議,它被設(shè)計(jì)成在web上交換結(jié)構(gòu)化的和固化的信息。SOAP可以和現(xiàn)存的許多因特網(wǎng)協(xié)議和格式結(jié)合使用,包括超文本傳輸協(xié)議(HTTP),簡(jiǎn)單郵件傳輸協(xié)議(SMTP),多用途網(wǎng)際郵件擴(kuò)充協(xié)議(MIME)。它還支持從消息系統(tǒng)到遠(yuǎn)程過(guò)程調(diào)用(RPC)等大量的應(yīng)用程序。

          2.代碼工程

          實(shí)驗(yàn)?zāi)繕?biāo):

          實(shí)現(xiàn)webservice服務(wù),并通過(guò)client調(diào)用服務(wù)端

          服務(wù)端

          pom.xml

          <?xml version="1.0" encoding="UTF-8"?>
          <project xmlns="http://maven.apache.org/POM/4.0.0"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
              <parent>
                  <artifactId>webservice</artifactId>
                  <groupId>com.et</groupId>
                  <version>1.0-SNAPSHOT</version>
              </parent>
              <modelVersion>4.0.0</modelVersion>
          
              <artifactId>webservice-server</artifactId>
          
              <properties>
                  <maven.compiler.source>11</maven.compiler.source>
                  <maven.compiler.target>11</maven.compiler.target>
              </properties>
              <dependencies>
                  <dependency>
                      <groupId>org.springframework.boot</groupId>
                      <artifactId>spring-boot-starter-web</artifactId>
                  </dependency>
          
                  <dependency>
                      <groupId>org.springframework.boot</groupId>
                      <artifactId>spring-boot-autoconfigure</artifactId>
                  </dependency>
                  <dependency>
                      <groupId>org.springframework.boot</groupId>
                      <artifactId>spring-boot-starter-test</artifactId>
                      <scope>test</scope>
                  </dependency>
                  <!-- 引入Spring Boot Web Services Starter -->
                  <dependency>
                      <groupId>org.springframework.boot</groupId>
                      <artifactId>spring-boot-starter-web-services</artifactId>
                  </dependency>
          
                  <!-- 引入Apache CXF Spring Boot Starter for JAX-WS -->
                  <dependency>
                      <groupId>org.apache.cxf</groupId>
                      <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
                      <version>3.3.4</version>
                  </dependency>
          
          
              </dependencies>
          </project>

          config

          package com.et.webservice.server.config;
          
          import com.et.webservice.server.service.MyWebService;
          import org.apache.cxf.bus.spring.SpringBus;
          import org.apache.cxf.jaxws.EndpointImpl;
          import org.apache.cxf.transport.servlet.CXFServlet;
          import org.springframework.beans.factory.annotation.Autowired;
          import org.springframework.boot.web.servlet.ServletRegistrationBean;
          import org.springframework.context.annotation.Bean;
          import org.springframework.context.annotation.Configuration;
          
          
          /**
           * CXF配置類,負(fù)責(zé)初始化CXF相關(guān)組件、發(fā)布Webservice服務(wù)以及配置CXF Servlet。
           */
          @Configuration
          public class CxfConfig {
             
          
              /**
               * 自動(dòng)注入Spring Bus實(shí)例,它是CXF的核心組件之一,用于管理和配置CXF運(yùn)行時(shí)環(huán)境。
               */
              @Autowired
              private SpringBus bus;
          
              /**
               * 自動(dòng)注入實(shí)現(xiàn)了MyWebService接口的服務(wù)實(shí)現(xiàn)類實(shí)例,該實(shí)例將被發(fā)布為Webservice供外部調(diào)用。
               */
              @Autowired
              private MyWebService myWebServiceImpl;
          
              /**
               * 創(chuàng)建并返回Webservice端點(diǎn)(Endpoint)實(shí)例,用于發(fā)布MyWebService服務(wù)。
               * 將服務(wù)實(shí)現(xiàn)類與Spring Bus關(guān)聯(lián),并指定發(fā)布地址為"/1"。
               *
               * @return Webservice端點(diǎn)實(shí)例
               */
              @Bean
              public EndpointImpl endpoint() {
             
          
                  EndpointImpl endpoint = new EndpointImpl(bus, myWebServiceImpl);
                  endpoint.publish("/1"); // 發(fā)布地址
                  return endpoint;
              }
          
              /**
               * 創(chuàng)建并返回CXF Servlet的ServletRegistrationBean實(shí)例,用于注冊(cè)CXF Servlet到Spring Boot的Servlet容器中。
               * 設(shè)置CXF Servlet的映射路徑為"/services/*",表示所有以"/services/"開(kāi)頭的HTTP請(qǐng)求都將由CXF Servlet處理。
               *
               * @return CXF Servlet的ServletRegistrationBean實(shí)例
               */
              @Bean
              public ServletRegistrationBean wsServlet() {
             
                  return new ServletRegistrationBean(new CXFServlet(), "/services/*");
              }
          }

          service

          package com.et.webservice.server.service;
          
          
          import javax.jws.WebMethod;
          import javax.jws.WebService;
          
          @WebService(
                  name = "MyWebService",
                  targetNamespace = "http://liuhaihua.cn/mywebservice"
          )
          public interface MyWebService {
             
              @WebMethod
              String sayHello(String name);
          }
          package com.et.webservice.server.service;
          
          
          import org.springframework.stereotype.Service;
          
          import javax.jws.WebService;
          
          
          @Service
          @WebService
          public class MyWebServiceImpl implements MyWebService {
             
          
              @Override
              public String sayHello(String name) {
             
                  System.err.println("sayHello is called..."); // 只是為了更明顯的輸出,采用err
          
                  return "Hello, " + name + "!";
              }
          }

          DemoApplication.java

          package com.et.webservice.server;
          
          import org.springframework.boot.SpringApplication;
          import org.springframework.boot.autoconfigure.SpringBootApplication;
          
          @SpringBootApplication
          public class DemoApplication {
          
             public static void main(String[] args) {
                SpringApplication.run(DemoApplication.class, args);
             }
          }

          客戶端

          pom.xml

          <?xml version="1.0" encoding="UTF-8"?>
          <project xmlns="http://maven.apache.org/POM/4.0.0"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
              <parent>
                  <artifactId>webservice</artifactId>
                  <groupId>com.et</groupId>
                  <version>1.0-SNAPSHOT</version>
              </parent>
              <modelVersion>4.0.0</modelVersion>
          
              <artifactId>webservice-client</artifactId>
          
              <properties>
                  <maven.compiler.source>8</maven.compiler.source>
                  <maven.compiler.target>8</maven.compiler.target>
              </properties>
              <dependencies>
                  <dependency>
                      <groupId>org.springframework.boot</groupId>
                      <artifactId>spring-boot-starter-web</artifactId>
                  </dependency>
          
                  <dependency>
                      <groupId>org.springframework.boot</groupId>
                      <artifactId>spring-boot-autoconfigure</artifactId>
                  </dependency>
                  <dependency>
                      <groupId>org.springframework.boot</groupId>
                      <artifactId>spring-boot-starter-test</artifactId>
                      <scope>test</scope>
                  </dependency>
                  <!-- 測(cè)試依賴配置 -->
                  <dependency>
                      <groupId>org.junit</groupId>
                      <artifactId>junit-bom</artifactId>
                      <version>5.9.1</version>
                      <type>pom</type>
                      <scope>test</scope>
                  </dependency>
                  <dependency>
                      <groupId>org.junit.jupiter</groupId>
                      <artifactId>junit-jupiter</artifactId>
                      <version>5.9.1</version>
                      <scope>test</scope>
                  </dependency>
          
                  <!-- 主要依賴配置 -->
                  <dependency>
                      <groupId>com.sun.xml.bind</groupId>
                      <artifactId>jaxb-impl</artifactId>
                      <version>4.0.5</version>
                  </dependency>
                  <dependency>
                      <groupId>javax.xml.bind</groupId>
                      <artifactId>jaxb-api</artifactId>
                      <version>2.3.1</version>
                  </dependency>
                  <dependency>
                      <groupId>jakarta.activation</groupId>
                      <artifactId>jakarta.activation-api</artifactId>
                      <version>2.1.3</version>
                  </dependency>
                  <dependency>
                      <groupId>jakarta.jws</groupId>
                      <artifactId>jakarta.jws-api</artifactId>
                      <version>3.0.0</version>
                  </dependency>
                  <dependency>
                      <groupId>jakarta.xml.ws</groupId>
                      <artifactId>jakarta.xml.ws-api</artifactId>
                      <version>4.0.1</version>
                  </dependency>
                  <dependency>
                      <groupId>jakarta.xml.bind</groupId>
                      <artifactId>jakarta.xml.bind-api</artifactId>
                      <version>4.0.1</version>
                  </dependency>
          
                  <!-- Apache CXF相關(guān)依賴 -->
                  <dependency>
                      <groupId>org.apache.cxf</groupId>
                      <artifactId>cxf-rt-transports-http-jetty</artifactId>
                      <version>3.3.4</version>
                  </dependency>
                  <dependency>
                      <groupId>org.apache.cxf</groupId>
                      <artifactId>cxf-rt-frontend-jaxws</artifactId>
                      <version>3.3.4</version>
                  </dependency>
                  <dependency>
                      <groupId>org.slf4j</groupId>
                      <artifactId>slf4j-reload4j</artifactId>
                      <version>2.1.0-alpha1</version>
                  </dependency>
              </dependencies>
          </project>

          service

          package com.et.webservice.client;
          
          import javax.jws.WebService;
          
          @WebService(
                name = "MyWebService",
                targetNamespace = "http://liuhaihua.cn/mywebservice"
          )
          public interface HelloService {
              // 接口名一樣
          
              String sayHello(String name); // 方法定義名一樣
          }

          cilent

          package com.et.webservice.client;
          
          import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
          
          /**
           * 客戶端調(diào)用類,用于通過(guò)JAX-WS代理方式訪問(wèn)HelloService Web服務(wù)。
           */
          public class Client {
             
          
              /**
               * 程序主入口方法。
               *
               * @param args 命令行參數(shù)
               */
              public static void main(String[] args) {
             
                  // 創(chuàng)建JAX-WS代理工廠對(duì)象
                  JaxWsProxyFactoryBean jaxWsProxyFactoryBean = new JaxWsProxyFactoryBean();
          
                  // 設(shè)置要訪問(wèn)的服務(wù)地址
                  jaxWsProxyFactoryBean.setAddress("http://localhost:8088/services/1?wsdl");
          
                  // 設(shè)置服務(wù)接口類,即HelloService
                  jaxWsProxyFactoryBean.setServiceClass(HelloService.class);
          
                  // 使用工廠對(duì)象創(chuàng)建HelloService接口的代理實(shí)例
                  HelloService helloService = jaxWsProxyFactoryBean.create(HelloService.class);
          
                  System.out.println(helloService.getClass());
          
                  // 調(diào)用代理實(shí)例的方法,向服務(wù)端發(fā)送請(qǐng)求,并打印返回結(jié)果
                  System.out.println(helloService.sayHello("hello world"));
              }
          }

          以上只是一些關(guān)鍵代碼,所有代碼請(qǐng)參見(jiàn)下面代碼倉(cāng)庫(kù)

          代碼倉(cāng)庫(kù)

          • https://github.com/Harries/springboot-demo

          3.測(cè)試

          啟動(dòng)服務(wù)端,訪問(wèn)http://localhost:8088/services/1?wsdl

          調(diào)用客戶端,返回結(jié)果

          11:20:20.148 [main] DEBUG org.apache.cxf.phase.PhaseInterceptorChain - Invoking handleMessage on interceptor org.apache.cxf.ws.policy.PolicyVerificationInInterceptor@1e8823d2
          11:20:20.148 [main] DEBUG org.apache.cxf.ws.policy.PolicyVerificationInInterceptor - Verified policies for inbound message.
          Hello, hello world!

          4.引用

          • https://en.wikipedia.org/wiki/Web_service
          • http://www.liuhaihua.cn/archives/710832.html

          meter作為性能或自動(dòng)化測(cè)試工具在開(kāi)展工作時(shí),其扮演的角色是模擬用戶操作,而后記錄響應(yīng)結(jié)果并統(tǒng)計(jì)如響應(yīng)時(shí)間、TPS等性能指標(biāo),而實(shí)現(xiàn)請(qǐng)求訪問(wèn)這個(gè)場(chǎng)景就要用到工具中取樣器的相關(guān)功能。

          取樣器的主要用來(lái)模擬用戶操作向服務(wù)器發(fā)出各位請(qǐng)求,如webservice或Java請(qǐng)求等,然后根據(jù)請(qǐng)求獲取對(duì)應(yīng)的響應(yīng)信息,同時(shí)配合監(jiān)聽(tīng)器結(jié)果樹(shù)等驗(yàn)證該接口的響應(yīng)是否合理。在Jmeter中取樣器的種類很多,常見(jiàn)的主要有HTTP請(qǐng)求和JDBC reques兩類。

          一、HTTP請(qǐng)求

          1.首先在測(cè)試計(jì)劃下添加線程組,在線程組中添加取樣器<HTTP請(qǐng)求>,如圖所示:

          2.相關(guān)參數(shù)設(shè)置說(shuō)明:

          名稱:定義改取樣器請(qǐng)求目標(biāo)的標(biāo)識(shí),可按需設(shè)置。

          注釋:按需備注,可為空。

          基本:

          ·協(xié)議:協(xié)議支持“http”和“https”

          ·服務(wù)器名稱或IP/端口:此處填寫(xiě)請(qǐng)求的目標(biāo)服務(wù)端地址,端口號(hào)默認(rèn)為80。

          ·http請(qǐng)求方法:常見(jiàn)的有POST和GET,兩者均作為T(mén)CP鏈接并無(wú)本質(zhì)區(qū)別

          ·路徑:請(qǐng)求資源路徑

          ·內(nèi)容編碼:如果內(nèi)容含有中文一般為utf-8

          ·自動(dòng)重定向:針對(duì)GET和HEAD請(qǐng)求如包含重定向則可自動(dòng)跳轉(zhuǎn)目標(biāo)頁(yè)面,但不記錄前置請(qǐng)求,無(wú)法做內(nèi)容關(guān)聯(lián)

          ·跟蹤重定向:Jmeter默認(rèn)選項(xiàng)可跟蹤定向并將請(qǐng)求返回記錄與結(jié)果樹(shù)中,可對(duì)響應(yīng)進(jìn)行關(guān)聯(lián)。

          ·使用keepalive:保持http中的請(qǐng)求alive,默認(rèn)勾選

          ·對(duì)POST使用multipart/form-data、與瀏覽器兼容的頭:當(dāng)方法為post時(shí)默認(rèn)勾選該兩項(xiàng)

          高級(jí):

          ·客戶端實(shí)現(xiàn):選擇http請(qǐng)求方式,常見(jiàn)為HttpClien4和Java。

          ·超時(shí):連接超時(shí)時(shí)間、響應(yīng)等待超時(shí)時(shí)間

          ·從HMTL文件嵌入資源:當(dāng)需要獲取響應(yīng)中如圖片、動(dòng)畫(huà)等內(nèi)容時(shí),勾選此項(xiàng)可對(duì)響應(yīng)HTML進(jìn)行解析??梢詫?duì)并行資源進(jìn)行定義,默認(rèn)為6

          ·源地址:此屬性用于實(shí)現(xiàn)動(dòng)態(tài)IP訪問(wèn),使得Jmeter具有多個(gè)IP地址

          ·代理服務(wù)器:此屬性用于配置網(wǎng)絡(luò)代理

          ·其他任務(wù):勾選該項(xiàng)實(shí)現(xiàn)對(duì)響應(yīng)報(bào)文的篩選,既僅保留響應(yīng)數(shù)據(jù)的MD5值,剔除冗余信息

          二、JDBC Request

          JDBC英文名為Java Data Base Connectivity(Java數(shù)據(jù)庫(kù)連接),它是Java編程語(yǔ)言和各類數(shù)據(jù)庫(kù)之間連接標(biāo)準(zhǔn)的Java API,可以認(rèn)為JDBC規(guī)范了它提供的接口,使得由Java編寫(xiě)的應(yīng)用程序可以便捷訪問(wèn)底層數(shù)據(jù)庫(kù)。但不同的數(shù)據(jù)庫(kù)訪問(wèn)往往需要不同的驅(qū)動(dòng),所以在使用JDBC取樣前要將目標(biāo)數(shù)據(jù)庫(kù)驅(qū)動(dòng)放置在Jmeter的lib目錄下,然后配合JDBC Connection Configuration聯(lián)通數(shù)據(jù)庫(kù)。

          1.首先在線程組下添加配置元件->JDBC Connection Configuration:

          ·Variable Name for created pool: 該變量名與Request中連接池變量名相同

          ·Max Number of Connections:數(shù)據(jù)庫(kù)連接池的最大連接數(shù)

          ·Max Wait (ms) :連接超時(shí)限額,超過(guò)返回連接最大等待時(shí)間則報(bào)錯(cuò)

          ·Time Between Eviction Runs (ms):當(dāng)前連接池保持該時(shí)長(zhǎng)無(wú)交互則關(guān)閉

          ·Auto Commit :自動(dòng)執(zhí)行SQL語(yǔ)句

          ·Transaction Isolation:事務(wù)間隔級(jí)別設(shè)置

          ·Test While Idle:空閑時(shí)判斷連接連接狀態(tài)

          ·Soft Min Evictable Idle Time(ms):連接池閑置狀態(tài)下保持連接的最小時(shí)長(zhǎng)

          ·validation query:如超5秒無(wú)請(qǐng)求則調(diào)用該SQL測(cè)試連接有效性

          ·Database URL:數(shù)據(jù)庫(kù)地址

          ·JDBC Driver class:選擇lib目錄下存放對(duì)應(yīng)數(shù)據(jù)庫(kù)的驅(qū)動(dòng)

          ·Username:數(shù)據(jù)庫(kù)用戶

          ·Password:數(shù)據(jù)庫(kù)密碼

          2.然后在該線程組下添加取樣器->JDBC Request:

          ·Variable name of Pool:數(shù)據(jù)庫(kù)連接池變量名

          ·Query:填列待執(zhí)行數(shù)據(jù)庫(kù)SQL

          ·parameter valus:數(shù)據(jù)的參數(shù)值

          ·parameter types:數(shù)據(jù)的參數(shù)類型

          ·variable names:SQL返回的變量名,多個(gè)變量以逗號(hào)隔開(kāi)

          ·result variable name:保存某變量的全部返回結(jié)果(引用${id_n}調(diào)用多行數(shù)據(jù))

          ·query timeout:查詢超時(shí)時(shí)間

          ·handle result set:定義如何處理callable statements語(yǔ)句結(jié)果

          取樣器作為用來(lái)模擬用戶請(qǐng)求操作和獲取返回影響數(shù)據(jù)的模塊,功能類似于LoadRunner中的Vuser;,以上介紹的兩種請(qǐng)求方式可分別實(shí)現(xiàn)從前端請(qǐng)求訪問(wèn)和直接對(duì)數(shù)據(jù)庫(kù)進(jìn)行壓測(cè),作為自動(dòng)化測(cè)試和性能測(cè)試的前置步驟,HTTP和JDBC使用頻次高較為常見(jiàn),日常測(cè)試中需要熟練掌握。

          **推薦一個(gè)「Python自動(dòng)化測(cè)試學(xué)習(xí)交流群」給大家:

          請(qǐng)關(guān)注+私信回復(fù):"頭條" 就可以免費(fèi)拿到軟件測(cè)試學(xué)習(xí)資料,同時(shí)進(jìn)入群學(xué)習(xí)交流~~


          主站蜘蛛池模板: 中文字幕精品一区二区精品| 国产一区二区在线|播放| 色婷婷一区二区三区四区成人网| 国产精品高清一区二区三区不卡 | 无码少妇一区二区| 亚洲国产综合无码一区二区二三区 | 国产一区二区四区在线观看 | 风间由美性色一区二区三区| 精彩视频一区二区| 国产三级一区二区三区| 波多野结衣AV一区二区三区中文 | 一区二区视频传媒有限公司| 成人在线视频一区| 国产精品区AV一区二区| 精品福利一区二区三区| 97久久精品午夜一区二区| 国产熟女一区二区三区四区五区 | 亚洲国产综合无码一区| 国产一区二区三区久久精品| 国产午夜精品一区二区三区| 亚洲人成人一区二区三区| 日本一区二区三区精品中文字幕| 亚洲色无码一区二区三区| 久久精品一区二区免费看| 精品无码一区在线观看| 中文字幕日韩一区二区不卡| 亚洲AV无码一区二区三区性色| 精品国产一区二区三区| 激情综合丝袜美女一区二区| 一区二区精品视频| 日韩精品一区二区三区大桥未久| 精品少妇人妻AV一区二区| 精品福利一区3d动漫| 日韩人妻无码一区二区三区| 精品久久久中文字幕一区 | 久久精品一区二区三区AV| 国产乱码精品一区二区三区香蕉| 国产在线精品一区二区三区不卡| 亚州AV综合色区无码一区 | 亚洲欧美日韩中文字幕一区二区三区| 亚洲Av无码国产一区二区|