찾다
백엔드 개발C#.Net 튜토리얼캡슐화된 asp.net 확인 코드 클래스

첫 번째 반영은 확인 코드의 이러한 속성을 설정할 수 있는지 여부입니다(즉, 클래스로 캡슐화한 다음 공개 속성 및 메서드를 노출하여 사용하는지, 아니면 일반 핸들러에서 확인을 직접 구현하는지 여부). 코드 생성 후 출력), 결과는 안타깝게도 후자입니다... 적어도 나처럼 알고리즘을 거의 이해하지 못하는 사람에게는 내부 알고리즘이 꽤 좋다고 느껴져서 그것을 캡슐화하려고 생각했고 그녀는 그것을 뻔뻔하게 자신의 클래스 라이브러리에 통합했습니다. ^^

먼저 이 코드의 단점을 분석해 보세요(그녀가 생각하는 것):
1. 절차적 프로그래밍의 경우 인증 코드 속성을 수정하려는 경우 글꼴 크기, 배경색 등을 수정합니다. 자세한 내용은 일반 처리 프로그램에서 해당 코드를 찾아 수정해야 합니다. 다만 이 코드는 인증코드 문자열 생성과 이미지 생성을 다른 방식으로 분리해 수정할 곳을 쉽게 찾을 수 있어 더 좋다.
2. 이 기능을 winform 프로그램 등 다른 곳에 적용하려면 이 코드를 컴포넌트(dll) 형태로 재사용할 수는 없지만 복사, 붙여넣기, 수정은 가능합니다...
3. 인증코드가 생성된 후 저장된 것을 발견하지 못했습니다(--!)

물론 소위 단점은 상대적입니다. 그것에 대해 생각하고 천천히 검증 코드 클래스를 디자인하면 확실히 상대적으로 좋은 클래스가 될 수 있지만 프로젝트를 진행 중이고 프로젝트가 긴급한 경우에는 실제로 이러한 코드가 더 강력합니다. 디자인 패턴 지향 코드 디커플링은 그냥 구름입니다~~

다음 단계는 이 코드를 수정하는 것입니다. 먼저 어떤 효과를 원하는지, 즉 캡슐화한 후 어떻게 사용할 것인지 결정합니다. 우선, 이를 사용할 때 새로운 인증 코드 인스턴스만 생성하면 되고(필요한 경우 인증 코드의 다양한 속성을 임의로 설정할 수 있음) 그런 다음 이 인스턴스의 특정 메서드를 호출하여 문자열을 사용할 수 있기를 바랍니다. , 스트림, 비트맵 객체, 바이트 각각 배열 형태로 이 인증 코드를 얻습니다. (이 인증 코드 클래스에는 인증 코드를 컨텍스트에 저장하는 기능이 포함되어 있지 않습니다. 개인적으로 인증 코드를 생성하는 것 같습니다. 확인 코드를 컨텍스트에 저장하는 것은 두 가지 다른 기능입니다. 이 기능을 확인 코드 클래스에 추가할 필요는 없습니다. 이런 경우 일반 처리 프로그램에서는 코드가 굉장히 단순해집니다. 먼저 new로 인증코드를 생성한 뒤 메소드를 호출해 문자열 형태로 인증코드를 얻은 뒤 오전, 오후에 저장하면 됩니다. 세션 또는 쿠키에 존재하는지 여부는 필요에 따라 제공되며 확인 코드 클래스는 이에 대해 신경 쓰지 않고 바이트 배열 형식으로 확인 코드를 얻기 위해 다른 메서드를 호출합니다. context.Response.BinaryWrite() 메소드를 통해 출력됩니다. 즉, 일반 처리 프로그램에는 세 줄의 코드만 있습니다. 호출 코드는 대략 다음과 같습니다.

/// <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: 처음 작업을 시작했을 때 코드가 형편없게 작성되었던(지금보다 더 나빴음) 기억이 나네요. 보통 코드 사본을 받을 때 직접 사용합니다. .. 코드를 수정하거나 캡슐화할 것인지 생각해 본 적이 없습니다. 당시 스승님에게 가르침을 받았는데 매우 감동받았습니다. 개인적으로 다른 사람의 코드를 사용해도 문제가 없다고 생각합니다. 우선 다른 사람들은 최소한 코드의 유용성을 증명하기 위해 사용했습니다. 게다가 제한된 IQ로 인해 다른 사람들이 생각하는 것만큼 좋지 않은 것도 있습니다. 활용하고 싶지만 남의 코드를 무작정 사용해서는 안 됩니다. 단순한 레이어라도 실제 상황에 따라 필요한 수정이나 캡슐화를 해서 사용하는 것이 가장 좋습니다. 물론, 다시 말하지만, 프로젝트가 긴급하다면 분명히 시간 낭비입니다. 간단히 말해서, 그것에 대해 생각하지 말고, 받자마자 사용하십시오. 적어도 키 코드나 전체 구조를 확인하십시오. 코드는 명확합니다.

더 많은 캡슐화된 asp.net 인증 코드 관련 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
.NET DEEP DIVE : 비동기 프로그래밍, LINQ 및 EF Core 마스터 링.NET DEEP DIVE : 비동기 프로그래밍, LINQ 및 EF Core 마스터 링Mar 31, 2025 pm 04:07 PM

.NET 비동기 프로그래밍, LINQ 및 EFCORE의 핵심 개념은 다음과 같습니다. 1. 비동기 프로그래밍은 비동기 및 대기하는 응용 프로그램 응답 성을 향상시킵니다. 2. LINQ는 Unified Syntax를 통해 데이터 쿼리를 단순화합니다. 3. Efcore는 ORM을 통해 데이터베이스 작업을 단순화합니다.

C 현에서 숯의 역할은 무엇입니까?C 현에서 숯의 역할은 무엇입니까?Apr 03, 2025 pm 03:15 PM

C에서 숯 유형은 문자열에 사용됩니다. 1. 단일 문자를 저장하십시오. 2. 배열을 사용하여 문자열을 나타내고 널 터미네이터로 끝납니다. 3. 문자열 작동 함수를 통해 작동합니다. 4. 키보드에서 문자열을 읽거나 출력하십시오.

C 언어로 특수 문자를 처리하는 방법C 언어로 특수 문자를 처리하는 방법Apr 03, 2025 pm 03:18 PM

C 언어에서 특수 문자는 다음과 같은 탈출 시퀀스를 통해 처리됩니다. \ n 라인 브레이크를 나타냅니다. \ t는 탭 문자를 의미합니다. char c = '\ n'과 같은 특수 문자를 나타 내기 위해 탈출 시퀀스 또는 문자 상수를 사용하십시오. 백 슬래시는 두 번 탈출해야합니다. 다른 플랫폼과 컴파일러마다 다른 탈출 시퀀스가있을 수 있습니다. 문서를 참조하십시오.

Advanced C# .NET : 동시성, 병렬 처리 및 멀티 스레딩이 설명되었습니다Advanced C# .NET : 동시성, 병렬 처리 및 멀티 스레딩이 설명되었습니다Apr 03, 2025 am 12:01 AM

C#.NET은 동시, 병렬 및 멀티 스레드 프로그래밍을위한 강력한 도구를 제공합니다. 1) 스레드 클래스를 사용하여 스레드를 생성하고 관리합니다. 2) 작업 클래스는 스레드 풀을 사용하여 자원 활용을 개선하기 위해 나사산을 통해 병렬 컴퓨팅을 구현합니다. 4) ASYNC/AWAIT 및 작업을 통해 병렬 컴퓨팅을 구현합니다. ASYNC/AWAIT 및 TASK. ANDAL에서 데이터를 얻고 프로세스하는 데 사용되면 5) 스레드 풀을 사용하지 않으면 스레드 풀을 사용하고 성능을 발휘합니다.

C 언어로 Char Array를 사용하는 방법C 언어로 Char Array를 사용하는 방법Apr 03, 2025 pm 03:24 PM

char 어레이는 문자 시퀀스를 C 언어로 저장하고 char array_name [size]로 선언됩니다. 액세스 요소는 첨자 연산자를 통해 전달되며 요소는 문자열의 끝점을 나타내는 널 터미네이터 '\ 0'으로 끝납니다. C 언어는 strlen (), strcpy (), strcat () 및 strcmp ()와 같은 다양한 문자열 조작 함수를 제공합니다.

C 언어로 다양한 기호를 사용하는 방법C 언어로 다양한 기호를 사용하는 방법Apr 03, 2025 pm 04:48 PM

C 언어 커버 산술, 할당, 조건, 논리, 비트 연산자 등의 기호의 사용 방법은 기본 수학 연산에 사용되며, 할당 연산자는 할당 및 추가, 곱하기, 분할 할당에 사용되며, 곱하기 및 분할 할당에 사용되며, 조건에 따라 조건 운영자가 사용되며, 비트 오퍼레이터에 사용되며, 스페셜 오퍼레이터는 비트 수준의 운영에 사용됩니다. 포인터, 파일 종료 마커 및 비수통 값.

C 언어로 Char를 변환하는 방법C 언어로 Char를 변환하는 방법Apr 03, 2025 pm 03:21 PM

C 언어에서 숯 유형 변환은 다른 유형으로 직접 변환 할 수 있습니다. 캐스팅 : 캐스팅 캐릭터 사용. 자동 유형 변환 : 한 유형의 데이터가 다른 유형의 값을 수용 할 수 있으면 컴파일러가 자동으로 변환됩니다.

C 스위치 문에서 기본적으로 발생하는 오류를 피하십시오C 스위치 문에서 기본적으로 발생하는 오류를 피하십시오Apr 03, 2025 pm 03:45 PM

C 스위치 문에서 기본적으로 발생하는 오류를 피하기위한 전략 : 상수 대신 열거를 사용하여 사례 문의 값을 열거의 유효한 멤버로 제한합니다. 마지막 사례 명령문에서 러프를 사용하여 프로그램이 다음 코드를 계속 실행할 수 있도록하십시오. 스위치가없는 스위치 문의 경우 항상 오류 처리에 대한 기본 문을 추가하거나 기본 동작을 제공하십시오.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

안전한 시험 브라우저

안전한 시험 브라우저

안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.