>백엔드 개발 >C#.Net 튜토리얼 >MyMVC 상자에서 Action을 찾는 과정에 대한 자세한 설명

MyMVC 상자에서 Action을 찾는 과정에 대한 자세한 설명

Y2J
Y2J원래의
2017-05-17 11:30:311902검색

먼저 전체 프레임워크의 입구인 web.config에 MyMVC의 HttpHandlerFactory를 등록해야 합니다.
ASP.NET 파이프라인 프로세스에서 GetHandler() 메서드가 호출되고 마침내 내 코드가 실행될 기회가 있습니다!
프레임워크에서 실행되는 첫 번째 코드 줄은 다음과 같습니다.

// 根据请求路径,定位到要执行的ActionControllerActionPair pair = UrlParser.ParseAjaxUrl(virtualPath);
public sealed class ControllerActionPair{    public string Controller;    public string Action;}
静态方法UrlParser.ParseAjaxUrl()就是专门用来解析URL并返回ControllerActionPair的:

코드는 매우 간단합니다. 실제로 핵심은 URL에서 컨트롤러를 추출하는 정규 표현식입니다. Action의 이름은 이에 따라 달라집니다.
정규식 사용에 관해서는 이것이 기본적인 기술이라 여기에서는 생략하겠습니다.

AjaxHandlerFactory의 두 번째 호출을 살펴보겠습니다.

// 获取内部表示的调用信息InvokeInfo vkInfo = ReflectionHelper.GetAjaxInvokeInfo(pair);

ReflectionHelper 클래스는 Reflection 처리에 특별히 사용되는 내부 도구 클래스입니다. AjaxAction 검색 프로세스에 대한 관련 코드는 다음과 같습니다. 댓글):

위는 AjaxAction 검색과 관련된 4개의 코드입니다.
1 ReflectionHelper의 정적 생성자에서 I. 모든 AjaxController를 로드했습니다.
2. GetAjaxController 메서드는 이름을 기반으로 컨트롤러의 유형 설명을 반환하는 데 사용됩니다.
3. GetAjaxAction 메소드는 Controller 유형과 호출할 Action 이름을 기반으로 Action 설명 정보를 반환하는 데 사용됩니다.
4. GetAjaxInvokeInfo 메소드는 AjaxHandlerFactory에서 얻은 ControllerActionPair 설명을 보다 구체적인 설명 정보로 변환하는 데 사용됩니다.

코드에서 액션 검색 프로세스는 액션 설명 정보 모음을 저장하기 위해 safeHashtable

[관련 권장 사항]을 사용합니다. 🎜>

1.

특별 추천: "php Programmer Toolbox" V0.1 버전 다운로드

2. 무료 동영상 튜토리얼

3.

입문용 .NET MVC 예시. NET MyMVC 프레임워크에서 Action을 실행하는 과정

5. .NET MyMVC 프레임워크에서 메서드에 값을 할당하는 방법에 대한 튜토리얼

6. .NET MyMVC 프레임워크에서 반환 값 처리에 대한 튜토리얼

위 내용은 MyMVC 상자에서 Action을 찾는 과정에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.