亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

NET移植案例學習:建造Web站點(4)

瀏覽:73日期:2022-07-21 11:29:15
LAME報告和驗證控件在移植過程中,開發組決定修改數據輸入頁以充分發揮ASP .NET檢驗控件的優勢,并降低現存代碼的復雜度。當用戶想提交一個LAME報告時,他們在點擊錯誤對話框(幫助文檔的反饋鏈接)上的LAME按鈕,或者是工具欄上的Feedback按鈕之后,在Visual Studio .NET IDE中會見到一個頁面。為了將檢驗控件整合到LAME輸入頁,有必要重寫這些頁,并充分利用ASP .NET Web Form技術。 Web Form檢驗控件提供了一套獨立于瀏覽器的校驗函數,而不需要你在客戶應用程序中用腳本語言寫代碼。這個控件可以在低版本的瀏覽器中使用(包括Microsoft Internet Explorer 4.0以前的版本和Netscape 5.0以前的版本),但需要利用服務器來檢查控件的值并返回結果。當發現高版本的瀏覽器(Interne Explorer 4.0及其以后的版本和Netscape 5.0及其以后的版本)時,驗證的主要步驟是在向服務器發送數據之前,在客戶端完成的。在使用該版本瀏覽器時,如果被提交到服務器頁面企圖欺騙或繞過驗證規則,服務器端的驗證仍將進行。Figure 5.原來的LAME入口頁中的驗證邏輯的目標很簡單:要求用戶在提交表單之前已經在某些字段上填了值。盡管目標很簡單,但它需要類似于圖5中的Jscript代碼的客戶端腳本代碼。除了需要在客戶端用腳本語言進行驗證,還要在服務器上增加驗證邏輯,以防止用戶繞過客戶端的驗證并提交無效數據。使用了ASP .NET驗證控件后,可以用Required,Compare和 RegularExpressionValidator等控件替換這些驗證邏輯。這樣不僅可以從頁面中刪掉很多Jscript代碼,而且可以利用RegularExpressionValidator控件來加強驗證。但當發現了高版本的瀏覽器時,仍將向客戶端發送Jscript代碼,這樣就可以在提交到服務器進行驗證前進行客戶端驗證,。不同處在于開發組不需要編寫Jscript代碼,驗證控件會自動生成合適的代碼。當提交漏洞報告或一般的LAME報告時,需要同時提交所使用產品的版本。在大多數情況下,用戶可以從下拉列表中選出版本號,而唯一的驗證就是檢查用戶是否選擇了一個版本號(參見圖6)。但在某些情況下,比如未列出所用的版本時,用戶需要手動輸入版本號。在這種情況下,可以用兩種格式來輸入版本號,在提交到服務器前將檢查格式是否正確。用來完成這種驗證的Jscript代碼可能很復雜,但如果使用RegularExpressionValidator控件,只要定義正確的表達規則就可以進行驗證了。下面這段代碼使用了RegularExpressionValidator控件,并設置了可以完成這種檢查的屬性。<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> 用于報告漏洞的Web Service這次移植還要增加報告漏洞的輸入容量,并用Web Service來實現漏洞報告。為了有效的發布有關Visual Studio .NET和.NET框架的信息,Microsoft建立了許多包含了例子和信息的Web站點。這些站點需要一種機制,允許用戶通過其它的Web站點報告漏洞,并將這些信息貯存在庫中。站點還要求能實現離線報告漏洞,這樣用戶可以一次將許多漏洞發送到站點。要想實現這些目標,我們應該使用Web Service來完成報告漏洞的任務。 為了便于分類管理漏洞報告,而且能讓合適的開發組看到報告,在一份漏洞報告中還需要提交許多其它數據(比如操作系統、語言、產品、地區等)。為了能讓客戶端應用程序提供豐富、有用的接口,有必要向客戶端應用程序提供這些信息。為了能適用于更多的程序,開發組決定使用XML來傳輸數據。為了簡化報告漏洞服務的使用,開發組開發了多種接口,并實現了用多種方法保存報告。一個接口要求用戶提供與漏洞報告數據有關的ID值,另一個接口允許客戶端應用程序用字符串提交其它數據。如果采用后一種方式,漏洞報告服務將把字符串轉變為相關的ID,并通過漏洞報告組件完成驗證并保存。原來的用Visual Basic 6.0開發的漏洞報告組件使用ADO與客戶端程序進行數據交換。為了實現用XML傳輸數據,我們可以使用ADO記錄的adPersistXML格式將記錄中的數據轉變為XML文檔。最后還要將得到的XML漏洞報告轉變為ADO記錄,以便用Visual Basic 6.0的組件進行處理。開發小組決定在Visual Basic .NET中重新編寫報漏洞的類,這樣可以充分利用ADO.NET中基于XML的dataset。這樣做使得他們一方面可以方便地將數據以XML的形式提供給客戶端的應用程序,同時,還可以使用Visual Basic .NET組件中簡單易用的對象接口與數據進行交互。一般說來,編寫轉換數據格式的代碼是一種更為安全的選擇。但考慮到我們遷移工程的主要目的是為了體驗一下新的技術,采取這樣的轉換方法還是有一定的實際意義的。
標簽: b站 嗶哩嗶哩
主站蜘蛛池模板: 国产一级黄色录像 | 免费看黄在线观看 | 特级片免费看 | 日韩精品欧美视频 | 秘书高跟黑色丝袜国产91在线 | 色一色在线观看视频网站 | 香蕉九九 | 日韩99精品 | www.亚洲黄色| 欧美久久伊人 | 国产高清厕所盗摄视频 | 免费又爽又黄的禁片1000部 | 亚洲欧洲精品国产二码 | 国产一区二区三区久久 | 高清潢色大片 | 国产精品视频网站你懂得 | 国产精品亚洲片在线观看不卡 | 黄色录像一级 | 深夜国产 | 国产草草视频 | 91最新在线视频 | 日韩在线中文字幕 | 免费亚洲成人 | 亚洲欧洲国产日产 | 亚洲精品一区二区三区香蕉在线看 | 久久精品国产精品亚洲婷婷 | 中文字幕乱 | 免费看一级黄色大片 | 91精品日本久久久久久牛牛 | 亚洲图片国产日韩欧美 | 在线观看黄色网 | 来个黄色网址 | 国产精品高清一区二区三区不卡 | 日韩欧一级毛片在线播无遮挡 | 欧美一区二区在线视频 | 国外一级黄色片 | 亚洲国产精品久久综合 | 美女制服一二三区 | 在线精品自拍亚洲第一区 | 丁香五六月婷婷 | 亚洲欧美视频一区 |