suchen
HeimBackend-EntwicklungC#.Net-TutorialEine gekapselte asp.net-Bestätigungscodeklasse

Die erste Überlegung ist, ob diese Attribute des Verifizierungscodes festgelegt werden können (das heißt, ob sie in eine Klasse gekapselt und dann durch Offenlegung öffentlicher Attribute und Methoden verwendet werden oder ob die Verifizierung direkt im allgemeinen Handler implementiert wird). Das Ergebnis ist leider das letztere... Der darin enthaltene Algorithmus fühlt sich ziemlich gut an, zumindest für jemanden wie mich, der sich kaum mit Algorithmen auskennt, also dachte ich darüber nach, ihn zu kapseln. Sie hat ihn dann schamlos in ihre eigene Klassenbibliothek integriert ^^

Analysieren Sie zunächst die Mängel in diesem Code (was sie denkt):
1. Für die prozedurale Programmierung, wenn Sie die Eigenschaften des Bestätigungscodes ändern möchten, z. B. die Änderung der Schriftgröße, der Hintergrundfarbe usw Details müssen Sie den relevanten Code im allgemeinen Verarbeitungsprogramm finden und ändern. Dieser Code ist jedoch besser. Er trennt die Generierung der Bestätigungscodezeichenfolge und die Bildgenerierung in verschiedene Methoden, sodass die zu ändernden Stellen leichter gefunden werden können.
2. Wenn ich diese Funktion an anderen Stellen anwenden möchte, beispielsweise in einem Winform-Programm, kann dieser Code nicht in Form einer Komponente (einer DLL) wiederverwendet, sondern kopiert, eingefügt und geändert werden ...
3. Ich habe nicht festgestellt, dass der Bestätigungscode nach der Generierung gespeichert wurde (- -!)

Natürlich sind die sogenannten Mängel relativ, das heißt, wenn Sie Zeit dafür haben Denken Sie darüber nach und entwerfen Sie dann langsam eine Verifizierungscode-Klasse. Sie kann auf jeden Fall eine relativ gute Klasse sein, aber wenn Sie an einem Projekt arbeiten und das Projekt dringend ist, ist ein solcher Code tatsächlich leistungsfähiger. Die orientierte Entwurfsmustercode-Entkopplung ist nur eine Wolke ~~~

Der nächste Schritt ist meine Modifikation dieses Codes. Zuerst bestimme ich, welchen Effekt ich möchte, das heißt, wie ich ihn verwenden möchte, nachdem ich ihn gekapselt habe. Zunächst hoffe ich, dass ich bei der Verwendung nur eine neue Verifizierungscode-Instanz erstellen muss (bei Bedarf kann ich verschiedene Attribute des Verifizierungscodes beliebig festlegen) und dann bestimmte Methoden dieser Instanz aufrufen kann, um Zeichenfolgen zu verwenden , Streams, Bitmap-Objekte bzw. Byte. Erhalten Sie diesen Verifizierungscode in Form eines Arrays (beachten Sie, dass diese Verifizierungscode-Klasse nicht die Funktion zum Speichern des Verifizierungscodes im Kontext enthält. Ich persönlich bin der Meinung, dass dies das Generieren des Verifizierungscodes ist und das Speichern des Verifizierungscodes im Kontext sind zwei verschiedene Funktionen. Es ist nicht erforderlich, diese Funktion in der Verifizierungscode-Klasse hinzuzufügen. In diesem Fall wird der Code im allgemeinen Verarbeitungsprogramm äußerst einfach. Erstellen Sie zunächst einfach einen Bestätigungscode mit new, rufen Sie dann die Methode auf, um den Bestätigungscode in Form einer Zeichenfolge zu erhalten, und speichern Sie ihn dann morgens und nachmittags . Ob es in der Sitzung oder im Cookie vorhanden ist Es kommt nach Bedarf, und die Verifizierungscode-Klasse kümmert sich nicht darum, dann ruft sie eine andere Methode auf, um den Verifizierungscode in Form eines Byte-Arrays zu erhalten, damit das Bild über die Methode context.Response.BinaryWrite() ausgegeben werden, d. h. Das allgemeine Verarbeitungsprogramm enthält nur drei Codezeilen. Der aufrufende Code lautet ungefähr wie folgt:

/// <summary> 
/// 获取验证码(一般处理程序入口函数) 
/// </summary> 
/// <param name="context">当前上下文</param> 
public void ProcessRequest(HttpContext context) 
{ 
// 创建验证码 
ValidateCode validateCode = new ValidateCode(); 
// 获取验证码(字符串),写入Session 
context.Session["SomeValidateCode"] = validateCode.GetString(); 
// 输出验证码(图片) 
context.Response.BinaryWrite(validateCode.GetByteArray()); 
}

PS: Ich erinnere mich, dass der Code zu Beginn meiner Arbeit sehr schlecht geschrieben war (schlechter als jetzt, als ich ihn direkt verwendete). Ich habe nie darüber nachgedacht, den Code zu ändern oder zu kapseln, das hat mir mein Meister damals beigebracht und ich war sehr beeindruckt. Ich persönlich bin der Meinung, dass es nichts Falsches ist, den Code anderer Leute zu verwenden, um zumindest die Benutzerfreundlichkeit des Codes zu beweisen. Darüber hinaus sind einige Dinge nicht so gut, wie andere denken Wenn Sie sie nutzen möchten, dürfen Sie den Code anderer Personen nicht blind verwenden. Nehmen Sie am besten die erforderlichen Änderungen oder Kapselungen entsprechend Ihrer tatsächlichen Situation vor, auch wenn es sich nur um eine einfache Ebene handelt. Wenn das Projekt dringend ist, ist es natürlich Zeitverschwendung. Kurz gesagt, denken Sie nicht darüber nach, verwenden Sie es, sobald Sie es erhalten, und stellen Sie zumindest den Schlüsselcode oder die Gesamtstruktur sicher Der Code ist klar.

Weitere Artikel zum Thema gekapselter asp.net-Bestätigungscode finden Sie auf der chinesischen PHP-Website!

Stellungnahme
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
Was sind die Alternativen zu Null in der C -SpracheWas sind die Alternativen zu Null in der C -SpracheMar 03, 2025 pm 05:37 PM

In diesem Artikel wird die Herausforderungen des Nullzeigers in C untersucht. Es argumentiert, dass das Problem nicht null selbst, sondern seinen Missbrauch ist. Der Artikel beschreibt Best Practices zur Verhinderung der Verhindern, einschließlich Vor-Dre-Dre-Dereferenz-Überprüfungen, Zeiger initiali

Welcher C -Sprachkompiler ist besser?Welcher C -Sprachkompiler ist besser?Mar 03, 2025 pm 05:39 PM

Dieser Artikel führt Anfänger bei der Auswahl eines C -Compilers. Es wird argumentiert, dass GCC aufgrund seiner Benutzerfreundlichkeit, der breiten Verfügbarkeit und der umfangreichen Ressourcen für Anfänger am besten geeignet ist. Es wird jedoch auch GCC, Clang, MSVC und TCC vergleicht, wodurch ihre Unterschiede hervorgehoben werden

So fügen Sie C-Compiler der nächsten Ebene hinzuSo fügen Sie C-Compiler der nächsten Ebene hinzuMar 03, 2025 pm 05:44 PM

In diesem Artikel wird erläutert, wie Sie neue Zeilenzeichen in C mit der \ n Escape -Sequenz innerhalb von Printf erstellen und Funktionen setzt. Es beschreibt die Funktionalität und liefert Codebeispiele, die die Verwendung für Zeilenumbrüche in der Ausgabe demonstrieren.

Ist Null in der modernen Programmierung in der C -Sprache noch wichtig?Ist Null in der modernen Programmierung in der C -Sprache noch wichtig?Mar 03, 2025 pm 05:35 PM

Dieser Artikel betont die anhaltende Bedeutung von NULL in der modernen C -Programmierung. Trotz Fortschritten bleibt NULL für die explizite Zeigerverwaltung von entscheidender Bedeutung und verhindert Segmentierungsfehler, indem das Fehlen einer gültigen Speicheradresse markiert wird. Bestes Prac

Was sind die Webversionen von C -Sprach Compilern?Was sind die Webversionen von C -Sprach Compilern?Mar 03, 2025 pm 05:42 PM

Dieser Artikel bewertet Online -C -Compiler für Anfänger, die sich auf die Benutzerfreundlichkeit und Debugging -Funktionen konzentrieren. OnlineGDB und Repl.it sind für ihre benutzerfreundlichen Schnittstellen und hilfreichen Debugging-Tools hervorgehoben. Andere Optionen wie Programmiz und Compil

C Sprache Online -Programmierwebsite C Sprachkompiler Offizielle Website ZusammenfassungC Sprache Online -Programmierwebsite C Sprachkompiler Offizielle Website ZusammenfassungMar 03, 2025 pm 05:41 PM

Dieser Artikel vergleicht Online -C -Programmierplattformen und zeigt Unterschiede in Funktionen wie Debugging -Tools, IDE -Funktionalität, Standardkonformität und Speicher-/Ausführungsgrenzen. Es wird argumentiert, dass die "beste" Plattform von den Benutzerbedürfnissen abhängt.

Methode zum Kopieren von Code nach C -SprachkompilerMethode zum Kopieren von Code nach C -SprachkompilerMar 03, 2025 pm 05:43 PM

In diesem Artikel werden effizientes Codekopieren in C -IDEs erläutert. Es wird betont, dass das Kopieren eine IDE -Funktion ist, keine Compiler -Funktion, und Details Strategien für eine verbesserte Effizienz, einschließlich der Verwendung von IDE -Auswahltools, Codefalten, Suchen/Ersetzen, Templa

So lösen Sie das Problem, das Ausgangsfenster durch den C -Sprachkompiler nicht zu verbessernSo lösen Sie das Problem, das Ausgangsfenster durch den C -Sprachkompiler nicht zu verbessernMar 03, 2025 pm 05:40 PM

In diesem Artikel wird die Ausgabefenster in der C -Programmkompilierung fehlt. Es werden Ursachen untersucht, wie das Ausführen der ausführbaren Datei, Programmfehler, falsche Compiler -Einstellungen, Hintergrundprozesse und schnelle Programmabschluss. Lösungen umfassen Ch

See all articles

Heiße KI -Werkzeuge

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.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

MantisBT

MantisBT

Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)