国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Heim Backend-Entwicklung C#.Net-Tutorial Ein kleines Beispiel für die Implementierung von Verifizierungscode und die Aktualisierung von Verifizierungscode in ASP.NET

Ein kleines Beispiel für die Implementierung von Verifizierungscode und die Aktualisierung von Verifizierungscode in ASP.NET

Jan 13, 2017 pm 02:27 PM

Implementierungscode

/// <summary>
    /// 生成驗證碼圖片,保存session名稱VerificationCode
    /// </summary>
    public static void CreateVerificationCode()
    {
        int number;
        string checkCode = string.Empty;
        //隨機數(shù)種子
        Random randoms = new Random();
        for (int i = 0; i < 4; i++) //校驗碼長度為4
        {
            //隨機的整數(shù)
            number = randoms.Next();
            //字符從0-9,A-Z中隨機產(chǎn)生,對應的ASCII碼分別為
            //48-57,65-90
            number = number % 36;
            if (number < 10)
            {
                number += 48;
            }
            else
            {
                number += 55;
            }
            checkCode += ((char)number).ToString();
        }
        //在session中保存校驗碼
        System.Web.HttpContext.Current.Session["VerificationCode"] = checkCode;
        //若校驗碼為空,則直接返回
        if (checkCode == null || checkCode.Trim() == String.Empty)
        {
            return;
        }
        //根據(jù)校驗碼的長度確定輸出圖片的長度
        System.Drawing.Bitmap image = new System.Drawing.Bitmap(55, 20);//(int)Math.Ceiling(Convert.ToDouble(checkCode.Length * 15))
        //創(chuàng)建Graphics對象
        Graphics g = Graphics.FromImage(image);
        try
        {
            //生成隨機數(shù)種子
            Random random = new Random();
            //清空圖片背景色
            g.Clear(Color.White);
            //畫圖片的背景噪音線 10條
            //---------------------------------------------------
            for (int i = 0; i < 10; i++)
            {
                //噪音線起點坐標(x1,y1),終點坐標(x2,y2)
                int x1 = random.Next(image.Width);
                int x2 = random.Next(image.Width);
                int y1 = random.Next(image.Height);
                int y2 = random.Next(image.Height);
                //用銀色畫出噪音線
                g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);
            }
            //---------------------------------------------------
            //Brush b = Brushes.Silver;
            //g.FillRectangle(b, 0, 0, image.Width, image.Height);
            //---------------------以上兩種任選其一------------------------------
            //輸出圖片中校驗碼的字體: 12號Arial,粗斜體
            Font font = new Font("Arial", 12, (FontStyle.Bold | FontStyle.Italic));
            //線性漸變畫刷
            LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.Purple, 1.2f, true);
            g.DrawString(checkCode, font, brush, 2, 2);
            //畫圖片的前景噪音點 50個
            for (int i = 0; i < 50; i++)
            {
                int x = random.Next(image.Width);
                int y = random.Next(image.Height);
                image.SetPixel(x, y, Color.FromArgb(random.Next()));
            }
            //畫圖片的邊框線
            g.DrawRectangle(new Pen(Color.Peru), 0, 0, image.Width - 1, image.Height - 1);
            //創(chuàng)建內(nèi)存流用于輸出圖片
            using (MemoryStream ms = new MemoryStream())
            {
                //圖片格式指定為png
                image.Save(ms, ImageFormat.Jpeg);
                //清除緩沖區(qū)流中的所有輸出
                System.Web.HttpContext.Current.Response.ClearContent();
                //輸出流的HTTP MIME類型設置為"image/Png"
                System.Web.HttpContext.Current.Response.ContentType = "image/Jpeg";
                //輸出圖片的二進制流
                System.Web.HttpContext.Current.Response.BinaryWrite(ms.ToArray());
            }
        }
        finally
        {
            //釋放Bitmap對象和Graphics對象
            g.Dispose();
            image.Dispose();
        }
    }

Eine ASPX-Seite erstellen

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="AuthCode.aspx.cs" Inherits="AuthCode" %>

 <%Help.CreateVerificationCode(); %>

HTML-Code und Zitat hinzufügen

 <div class="positionR">
     <label>驗證碼:</label>
     <span class="style1"> *</span>
     <input type="text" class="yanZm" runat="Server" reg="^.+$" id="txtAuthCode" tip="請輸入驗證碼!" />
     <img class="yanZm_img lazy"  src="/static/imghw/default1.png"  data-src="AuthCode.aspx"    alt="" id="imgAuthCode" />
 </div>

Wie wird die Aktualisierung implementiert?

     <script type="text/javascript">
         $("#imgAuthCode").click(function () {
             $(this).attr("src", "AuthCode.aspx?code=" + (new Date()).getTime());
         });
     </script>

Rendering

Ein kleines Beispiel für die Implementierung von Verifizierungscode und die Aktualisierung von Verifizierungscode in ASP.NET

Weitere kleine ASP.NET-Beispiele zur Implementierung von Best?tigungscodes und Aktualisierungsbest?tigungscodes finden Sie auf der chinesischen PHP-Website!

Erkl?rung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Welche Bedeutung hat das Keyword in C# zum Erstellen von Iteratoren? Welche Bedeutung hat das Keyword in C# zum Erstellen von Iteratoren? Jun 19, 2025 am 12:17 AM

Sie haben KeeKeywordinc#vereinfacht, dass byAutomatischgeneratestatemachinethatenableSlazyEvaluation.1.itallowsReturningEMSonatimeuchteyieldReturn, PaeteExecutionBetweeneachItem, die ISIDEALFORGARGARGEordynamic -Sequences.2.yieldbreakcanBeusus

Was ist Abh?ngigkeitsinjektion (DI) und wie kann sie in C# implementiert werden (z. B. unter Verwendung der integrierten DI in ASP.NET Core)? Was ist Abh?ngigkeitsinjektion (DI) und wie kann sie in C# implementiert werden (z. B. unter Verwendung der integrierten DI in ASP.NET Core)? Jun 30, 2025 am 02:06 AM

Abh?ngigkeitsinjektion (DI) Inc#isAdesignPatternThatenhancesModularit?t, Testbarkeit und Maschinenbarkeit von ClasseSestoreceivedEpendenciesexternally.1.DiPromotesLoosecoUPlingByDecoUplingObjectCreationFromusage.2itsimplifiedeDing ThroughthroughthroughthroughthroughthmockoBectinjectinjectinjectinjekte

Was ist der Zweck der idisposablen Schnittstelle und der Verwendung von Anweisung in C# für das Ressourcenmanagement? Was ist der Zweck der idisposablen Schnittstelle und der Verwendung von Anweisung in C# für das Ressourcenmanagement? Jun 27, 2025 am 02:18 AM

Die Rolle von idisposbar und in C# besteht darin, nicht verwaltete Ressourcen effizient und deterministisch zu verwalten. 1. idisposable bietet die Dispose () -Methode, damit die Klasse klar definieren kann, wie nicht verwaltete Ressourcen freigegeben werden k?nnen. 2. Die Verwendung der Verwendung stellt sicher, dass Dispose () automatisch aufgerufen wird, wenn das Objekt aus dem Zielfernrohr ist, das Ressourcenmanagement vereinfacht und Leckagen vermieden wird. 3. Wenn Sie es verwenden, beachten Sie bitte, dass das Objekt iDisposable implementieren muss, mehrere Objekte deklarieren kann und immer die Verwendung für Typen wie StreamReader verwenden sollte. 4. Zu den h?ufigen Best Practices geh?rt es, sich nicht auf Destruktoren zu verlassen, um die Verschachtelungen korrekt zu behandeln und das Disol -Muster (Dispose) zu implementieren.

Wie verbessern Lambda -Ausdrücke und LINQ (Language Integrated Query) die Datenmanipulation in C#? Wie verbessern Lambda -Ausdrücke und LINQ (Language Integrated Query) die Datenmanipulation in C#? Jun 20, 2025 am 12:16 AM

LambdaexpressionsandlinqSimplifyDatamanipulationInC#ByenablingConcise, lesbar und efficienzidcode.1.lambdaexpressionslowinLineFunctionDefinitions, MakeTeSasierTopassLogicasargumentsfor -filtering, sortieren, aggategategategategorientiert

Was sind nullable Referenztypen (NRTs) in C# 8 und wie helfen sie, NullRreferencexception zu verhindern? Was sind nullable Referenztypen (NRTs) in C# 8 und wie helfen sie, NullRreferencexception zu verhindern? Jun 21, 2025 am 12:36 AM

Nullablereferencetypes(NRTs)inC#8 helpcatchNullReferenceExceptionerrorsatcompiletimebymakingreferencetypesnon-nullablebydefault,requiringexplicitdeclarationfornullability.NRTsmustbeenabledeitherinthe.csprojfilewithenableoratthetopofa.csfileusing#null

Was sind einige h?ufige Fallstricke oder Anti-Muster zu vermeiden, wenn sie sich mit C#entwickeln? Was sind einige h?ufige Fallstricke oder Anti-Muster zu vermeiden, wenn sie sich mit C#entwickeln? Jun 23, 2025 am 12:05 AM

Vier übliche "Anti-Muster" -Probleme in der C# -entwicklung müssen vermieden werden. Erstens führt der unangemessene Gebrauch von Async/Auseait zu Deadlocks oder Leistungsverschlechterungen. Wir sollten uns an das Prinzip der vollst?ndigen Asynchronit?t halten, configureAwait (falsch) konfigurieren und die Benennung standardisieren. Zweitens beeinflusst eine überm??ige Abh?ngigkeit von VAR die Lesbarkeit und deklare und vereint die Teamspezifikationen explizit, wenn der Typ unklar ist. Drittens führt die falsche Verwendung von Entsus- und Ressourcenverwaltung zu Leckagen, und die Anwendungsanweisung sollte korrekt verwendet werden und der iDisposable Standardmodus sollte implementiert werden. Viertens verursacht der Missbrauch statischer Klassen oder Singletons Testschwierigkeiten, und die Abh?ngigkeitsinjektion, die Staatenlosigkeit oder den Lebenszyklus, der von Containern verwaltet wird, sollte Priorit?t einger?umt werden. Das Vermeiden dieser Missverst?ndnisse kann die Qualit?t und Wartung der Code erheblich verbessern.

Wie k?nnen Span  und Speicher  in C# verwendet werden, um die Speicherverwendung zu optimieren und Zuordnungen zu reduzieren? Wie k?nnen Span und Speicher in C# verwendet werden, um die Speicherverwendung zu optimieren und Zuordnungen zu reduzieren? Jun 18, 2025 am 12:11 AM

Span und Speicher verbessern die C# -Leistung durch Reduzierung der Speicherzuweisung. 1.span vermeidet das Array-Kopieren und liefert leichte Verweise auf den vorhandenen Speicher, der für die Parsen von Bin?rprotokollen, Stringoperationen und Hochleistungs-Puffermanagement geeignet ist. 2. Speicher unterstützt das übergeben von Speicherschnitten über asynchrone Methoden, was für Szenarien geeignet ist, in denen flexiblere Lebenszyklen erforderlich sind. 3. Beide reduzieren den GC -Druck, optimieren Sie die Leistung, indem Sie Puffer wiederverwenden und ein vorübergehendes Kopieren vermeiden. 4. Die Span ist auf den Stapel beschr?nkt und kann nicht in Klassen gespeichert oder in asynchronen Methoden verwendet werden. Vermeiden Sie vorsichtig, um Neuzuweisungsoperationen wie Calling.toArray () zu vermeiden.

K?nnen Sie die soliden Prinzipien und ihre Anwendung in C#-objektorientiertem Design erkl?ren? K?nnen Sie die soliden Prinzipien und ihre Anwendung in C#-objektorientiertem Design erkl?ren? Jun 25, 2025 am 12:47 AM

Solides Prinzip sind fünf Entwurfsprinzipien, um die Wartbarkeit der Code und die Skalierbarkeit bei objektorientierter Programmierung zu verbessern. Sie sind: 1. Das Prinzip der einzelnen Verantwortung (SRP) verlangt, dass die Klasse nur eine Verantwortung übernimmt, z. 2. Das ?ffnungs- und Schlussprinzip (OCP) betont, dass die Erweiterung durch Schnittstellen oder abstrakte Klassen unterstützt wird, ohne den ursprünglichen Code zu ?ndern, z. 3. Das Richter -Ersatzprinzip (LSP) erfordert, dass die Unterklasse die übergeordnete Klasse ersetzen kann, ohne die Logik zu zerst?ren, z. 4. Das Interface-Isolationsprinzip (ISP) befürwortet die Definition feink?rniger Schnittstellen, wie z. 5. Das Abh?ngigkeitsinversionsprinzip (DIP) befürwortet die

See all articles