国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

NET移植案例學(xué)習(xí):建造Web站點(diǎn)(4)

瀏覽:94日期:2022-07-21 11:29:15
LAME報(bào)告和驗(yàn)證控件在移植過程中,開發(fā)組決定修改數(shù)據(jù)輸入頁以充分發(fā)揮ASP .NET檢驗(yàn)控件的優(yōu)勢,并降低現(xiàn)存代碼的復(fù)雜度。當(dāng)用戶想提交一個(gè)LAME報(bào)告時(shí),他們?cè)邳c(diǎn)擊錯(cuò)誤對(duì)話框(幫助文檔的反饋鏈接)上的LAME按鈕,或者是工具欄上的Feedback按鈕之后,在Visual Studio .NET IDE中會(huì)見到一個(gè)頁面。為了將檢驗(yàn)控件整合到LAME輸入頁,有必要重寫這些頁,并充分利用ASP .NET Web Form技術(shù)。 Web Form檢驗(yàn)控件提供了一套獨(dú)立于瀏覽器的校驗(yàn)函數(shù),而不需要你在客戶應(yīng)用程序中用腳本語言寫代碼。這個(gè)控件可以在低版本的瀏覽器中使用(包括Microsoft Internet Explorer 4.0以前的版本和Netscape 5.0以前的版本),但需要利用服務(wù)器來檢查控件的值并返回結(jié)果。當(dāng)發(fā)現(xiàn)高版本的瀏覽器(Interne Explorer 4.0及其以后的版本和Netscape 5.0及其以后的版本)時(shí),驗(yàn)證的主要步驟是在向服務(wù)器發(fā)送數(shù)據(jù)之前,在客戶端完成的。在使用該版本瀏覽器時(shí),如果被提交到服務(wù)器頁面企圖欺騙或繞過驗(yàn)證規(guī)則,服務(wù)器端的驗(yàn)證仍將進(jìn)行。Figure 5.原來的LAME入口頁中的驗(yàn)證邏輯的目標(biāo)很簡單:要求用戶在提交表單之前已經(jīng)在某些字段上填了值。盡管目標(biāo)很簡單,但它需要類似于圖5中的Jscript代碼的客戶端腳本代碼。除了需要在客戶端用腳本語言進(jìn)行驗(yàn)證,還要在服務(wù)器上增加驗(yàn)證邏輯,以防止用戶繞過客戶端的驗(yàn)證并提交無效數(shù)據(jù)。使用了ASP .NET驗(yàn)證控件后,可以用Required,Compare和 RegularExpressionValidator等控件替換這些驗(yàn)證邏輯。這樣不僅可以從頁面中刪掉很多Jscript代碼,而且可以利用RegularExpressionValidator控件來加強(qiáng)驗(yàn)證。但當(dāng)發(fā)現(xiàn)了高版本的瀏覽器時(shí),仍將向客戶端發(fā)送Jscript代碼,這樣就可以在提交到服務(wù)器進(jìn)行驗(yàn)證前進(jìn)行客戶端驗(yàn)證,。不同處在于開發(fā)組不需要編寫Jscript代碼,驗(yàn)證控件會(huì)自動(dòng)生成合適的代碼。當(dāng)提交漏洞報(bào)告或一般的LAME報(bào)告時(shí),需要同時(shí)提交所使用產(chǎn)品的版本。在大多數(shù)情況下,用戶可以從下拉列表中選出版本號(hào),而唯一的驗(yàn)證就是檢查用戶是否選擇了一個(gè)版本號(hào)(參見圖6)。但在某些情況下,比如未列出所用的版本時(shí),用戶需要手動(dòng)輸入版本號(hào)。在這種情況下,可以用兩種格式來輸入版本號(hào),在提交到服務(wù)器前將檢查格式是否正確。用來完成這種驗(yàn)證的Jscript代碼可能很復(fù)雜,但如果使用RegularExpressionValidator控件,只要定義正確的表達(dá)規(guī)則就可以進(jìn)行驗(yàn)證了。下面這段代碼使用了RegularExpressionValidator控件,并設(shè)置了可以完成這種檢查的屬性。<asp:RegularExpressionValidator id=txtBuildValueValidatorrunat="server" display="dynamic" controlToValidate="txtBuild" errorMessage="Also, please enter the Build Version in  the following format: NN.NN.NN.NNNN " validationExpression="d{2}.d{2}.d{2}.d{4}|d{4}">## </asp:RegularExpressionValidator> 用于報(bào)告漏洞的Web Service這次移植還要增加報(bào)告漏洞的輸入容量,并用Web Service來實(shí)現(xiàn)漏洞報(bào)告。為了有效的發(fā)布有關(guān)Visual Studio .NET和.NET框架的信息,Microsoft建立了許多包含了例子和信息的Web站點(diǎn)。這些站點(diǎn)需要一種機(jī)制,允許用戶通過其它的Web站點(diǎn)報(bào)告漏洞,并將這些信息貯存在庫中。站點(diǎn)還要求能實(shí)現(xiàn)離線報(bào)告漏洞,這樣用戶可以一次將許多漏洞發(fā)送到站點(diǎn)。要想實(shí)現(xiàn)這些目標(biāo),我們應(yīng)該使用Web Service來完成報(bào)告漏洞的任務(wù)。 為了便于分類管理漏洞報(bào)告,而且能讓合適的開發(fā)組看到報(bào)告,在一份漏洞報(bào)告中還需要提交許多其它數(shù)據(jù)(比如操作系統(tǒng)、語言、產(chǎn)品、地區(qū)等)。為了能讓客戶端應(yīng)用程序提供豐富、有用的接口,有必要向客戶端應(yīng)用程序提供這些信息。為了能適用于更多的程序,開發(fā)組決定使用XML來傳輸數(shù)據(jù)。為了簡化報(bào)告漏洞服務(wù)的使用,開發(fā)組開發(fā)了多種接口,并實(shí)現(xiàn)了用多種方法保存報(bào)告。一個(gè)接口要求用戶提供與漏洞報(bào)告數(shù)據(jù)有關(guān)的ID值,另一個(gè)接口允許客戶端應(yīng)用程序用字符串提交其它數(shù)據(jù)。如果采用后一種方式,漏洞報(bào)告服務(wù)將把字符串轉(zhuǎn)變?yōu)橄嚓P(guān)的ID,并通過漏洞報(bào)告組件完成驗(yàn)證并保存。原來的用Visual Basic 6.0開發(fā)的漏洞報(bào)告組件使用ADO與客戶端程序進(jìn)行數(shù)據(jù)交換。為了實(shí)現(xiàn)用XML傳輸數(shù)據(jù),我們可以使用ADO記錄的adPersistXML格式將記錄中的數(shù)據(jù)轉(zhuǎn)變?yōu)閄ML文檔。最后還要將得到的XML漏洞報(bào)告轉(zhuǎn)變?yōu)锳DO記錄,以便用Visual Basic 6.0的組件進(jìn)行處理。開發(fā)小組決定在Visual Basic .NET中重新編寫報(bào)漏洞的類,這樣可以充分利用ADO.NET中基于XML的dataset。這樣做使得他們一方面可以方便地將數(shù)據(jù)以XML的形式提供給客戶端的應(yīng)用程序,同時(shí),還可以使用Visual Basic .NET組件中簡單易用的對(duì)象接口與數(shù)據(jù)進(jìn)行交互。一般說來,編寫轉(zhuǎn)換數(shù)據(jù)格式的代碼是一種更為安全的選擇。但考慮到我們遷移工程的主要目的是為了體驗(yàn)一下新的技術(shù),采取這樣的轉(zhuǎn)換方法還是有一定的實(shí)際意義的。
標(biāo)簽: b站 嗶哩嗶哩
主站蜘蛛池模板: 国产91精品高清一区二区三区 | 国产不卡在线观看视频 | 一区二区不卡在线 | 午夜影院黄 | 国产性videostv另类极品 | 久草欧美| 久久精品免费观看久久 | 亚洲午夜免费 | 日韩美香港a一级毛片 | 欧美三级日韩 | 国产91成人精品亚洲精品 | 久草在线视频在线 | 久草手机在线视频 | 美国一级免费毛片 | 亚洲你我色 | 一级做a毛片在线看 | 在线日本看片免费人成视久网 | 亚洲黄色官网 | 欧美日韩在线视频 | 国产日韩欧美精品一区二区三区 | 韩国免又爽又刺激激情视频 | 美女的被男人桶爽网站 | 免费一级成人毛片 | 亚洲国产精品久久久久 | 欧美精品久久久久久久影视 | 成 人 黄 色 免费播放 | 亚洲狠狠综合久久 | 国产在线观看免费人成小说 | 毛片手机在线观看 | 国产国产成人人免费影院 | 国产21区 | 成人在线亚洲 | 欧美一级黄色毛片 | wwwwwww黄| 爽爽视频在线观看 | 国外精品视频在线观看免费 | 欧美精品一级毛片 | 久久99视频 | 欧美一级xxx | 国产欧美一区二区三区精品 | 99久久精品国产免费 |