最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

封裝的一個asp.net驗證碼類

 更新時間:2010年12月28日 12:07:14   作者:  
昨天在一個Q群上面群主發(fā)了一個用ASP.NET實現(xiàn)驗證碼的demo,下載下來然后運行正常,頁面上的img標(biāo)簽成功調(diào)用了一個一般處理程序并顯示了中文的驗證碼圖片,雖然有點模糊,但是可見上面是四個中文,圖片背景為白色,背后有噪點線,邊框黑色。
第一個反映是驗證碼的這些屬性是否可以設(shè)置(也就是說是封裝成一個類,然后以暴露公有屬性和方法的方式來使用的,還是在直接在一般處理程序中實現(xiàn)了驗證碼的生成到輸出),結(jié)果比較可惜,是后者...... 里面的算法感覺挺不錯,至少對于我這種對算法幾乎是不懂的人來說是這樣,于是想到去封裝一下她然后無恥地納入自己的類庫中去^^
old原文件如下:點擊下載

首先分析一下這份代碼中的不足(自己覺得的):
1、面向過程式的編程,如果要修改驗證碼的屬性,例如修改字體的大小、背景顏色等細節(jié)的東西,需要去一般處理程序中找到相關(guān)的代碼,修改之。不過這份代碼比較好,把生成驗證碼字符串和生成圖片用不同的方法分開,很容易找到要修改的地方。
2、如果我想把這個功能應(yīng)用到其他地方,例如winform程序中,那么這份代碼沒辦以一個組件(一個dll)形式被復(fù)用,而是被復(fù)制粘貼然后修改...
3、沒有發(fā)現(xiàn)驗證碼生成之后有存起來(- -?。?

當(dāng)然,所謂的不足是相對而言的,就是有時間來思考然后慢慢設(shè)計一個驗證碼類的話肯定能作出一個比較不錯的類出來的,但如果是在做項目并且項目很緊急的話,這樣的代碼其實是比較給力的,那些所謂的面向?qū)ο笤O(shè)計模式代碼解耦啥的都是浮云~~~

接下來是我對這份代碼的修改,首先確定自己要什么樣的效果,就是說封裝起來后我希望怎樣來使用他。首先我希望在使用的時候只需要new一個驗證碼實例(需要的話可以對驗證碼的各個屬性可以任意設(shè)置),然后可以調(diào)用這個實例的某些方法分別以字符串、流、位圖對象、byte數(shù)組的形式獲取到這個驗證碼(說明,這個驗證碼類不包括把驗證碼存進上下文的功能,個人覺得生成驗證碼和把驗證碼存到上下文是兩種不同的功能,沒必要把這功能做到驗證碼類中去)。這樣的話在一般處理程序中代碼就變得異常簡單了,首先只要new出一個驗證碼,然后調(diào)用方法以字符串的形式獲取到這個驗證碼,然后存到上下午中,至于存在Session中或者Cookie中就按照需要來了,驗證碼類不管這些的;然后是調(diào)用另外一個方法以byte數(shù)組的形式獲取到這個驗證碼,這樣通過context.Response.BinaryWrite()方法就可以輸出圖片了,也就是說一般處理程序中只有三句代碼。調(diào)用的代碼大致如下:
復(fù)制代碼 代碼如下:

/// <summary>
/// 獲取驗證碼(一般處理程序入口函數(shù))
/// </summary>
/// <param name="context">當(dāng)前上下文</param>
public void ProcessRequest(HttpContext context)
{
// 創(chuàng)建驗證碼
ValidateCode validateCode = new ValidateCode();
// 獲取驗證碼(字符串),寫入Session
context.Session["SomeValidateCode"] = validateCode.GetString();
// 輸出驗證碼(圖片)
context.Response.BinaryWrite(validateCode.GetByteArray());
}

這里附上驗證類的源碼(VS2010),里面提供的屬性并不全面,另外圖片的輸出以BMP的格式輸出,比原來的那份代碼輸出的要清晰很多,一定程度上對功能進行封裝但不一定封裝得很好,供交流學(xué)習(xí)用:點擊下載new

PS:記得剛出來工作的時候代碼寫得很差(比現(xiàn)在差),一般拿到一份代碼都是直接用,從來沒有想過是否要把代碼進行修改或者封裝,那時候被我的師傅教導(dǎo)了一次印象很深刻。個人感覺其實用別人的代碼沒什么不好的,一來別人用過至少證明代碼的可用性,另外智商有限,有些東西自己想破頭皮也沒有別人想的好,但是用別人的代碼一定不要盲目地拿了就用,最好根據(jù)自己的實際情況進行必要的修改或者封裝,哪怕是簡單的隔一層也好。當(dāng)然了,還是那句話,如果項目緊急的話這樣做明顯是浪費時間的,總之就是不要不思考,拿了就用,至少看把關(guān)鍵的代碼或者代碼的整體結(jié)構(gòu)弄清楚。

腳本之家直接都給打包了。上面是old文件夾,下面的是new文件夾的內(nèi)容。下載地址 /201012/yuanma/yanzhengma.rar

相關(guān)文章

  • visual studio 2019正式版安裝簡單教程

    visual studio 2019正式版安裝簡單教程

    這篇文章主要為大家詳細介紹了visual studio 2019正式版安裝簡單教程,文中安裝步驟介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • WPF創(chuàng)建Prism應(yīng)用程序

    WPF創(chuàng)建Prism應(yīng)用程序

    這篇文章介紹了WPF創(chuàng)建Prism應(yīng)用程序的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-02-02
  • ASP.NET中保護自定義的服務(wù)器控件

    ASP.NET中保護自定義的服務(wù)器控件

    本文提供了針對自定義服務(wù)器控件的用戶和開發(fā)人員的基本安全準則。適合初學(xué)者,希望對你有幫助,一起來看。
    2015-10-10
  • .NET學(xué)習(xí)筆記之默認依賴注入

    .NET學(xué)習(xí)筆記之默認依賴注入

    這篇文章主要給大家介紹了關(guān)于.NET學(xué)習(xí)筆記之默認依賴注入的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • ASP.NET中如何實現(xiàn)回調(diào)

    ASP.NET中如何實現(xiàn)回調(diào)

    這篇文章主要為大家詳細介紹了ASP.NET中如何實現(xiàn)回調(diào)操作,感興趣的小伙伴們可以參考一下
    2016-04-04
  • ASP.NET防范SQL注入式攻擊的方法

    ASP.NET防范SQL注入式攻擊的方法

    所謂SQL注入式攻擊,就是攻擊者把SQL命令插入到Web表單的輸入域或頁面請求的查詢字符串,欺騙服務(wù)器執(zhí)行惡意的SQL命令,那么在ASP.NET中如何防范SQL注入式攻擊,下文為大家揭曉
    2016-05-05
  • asp.net C#實現(xiàn)解壓縮文件的方法

    asp.net C#實現(xiàn)解壓縮文件的方法

    這篇文章主要介紹了asp.net C#實現(xiàn)解壓縮文件的方法,分別講述了三種不同的實現(xiàn)方法,是非常實用的技巧,需要的朋友可以參考下
    2014-11-11
  • .NET Core 處理 WebAPI JSON 返回?zé)┤说膎ull為空

    .NET Core 處理 WebAPI JSON 返回?zé)┤说膎ull為空

    這篇文章主要介紹了.NET Core 處理 WebAPI JSON 返回?zé)┤说膎ull為空,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • ASP與ASP.NET互通COOKIES的一點經(jīng)驗

    ASP與ASP.NET互通COOKIES的一點經(jīng)驗

    ASP與ASP.NET互通COOKIES的一點經(jīng)驗...
    2006-09-09
  • ASP.NET常用小技巧

    ASP.NET常用小技巧

    這篇文章主要介紹了ASP.NET常用小技巧,非常實用,需要的朋友可以參考下
    2015-09-09

最新評論

聂拉木县| 浦县| 京山县| 台南市| 和林格尔县| 湟源县| 松滋市| 都匀市| 沭阳县| 天峻县| 咸宁市| 昭平县| 集贤县| 阳东县| 察隅县| 苍梧县| 甘洛县| 财经| 乌拉特前旗| 金堂县| 澄江县| 玉溪市| 翁源县| 泾阳县| 宁陕县| 康马县| 阿克陶县| 和平区| 古浪县| 屏山县| 新密市| 上林县| 黑龙江省| 罗城| 遵义市| 余干县| 诏安县| 忻州市| 怀柔区| 浠水县| 板桥市|