.NET MyMVC 프레임워크에서 Action을 실행하는 과정에 대한 자세한 설명
AjaxHandlerFactory의 GetHandler 메서드에서 마침내 파이프라인의 15번째 단계에서 호출되는 HttpHandler인 ActionHandler가 생성됩니다(블로그 [Write your own service Framework with Asp.net]의 시퀀스 인용 ] ).
참고: AjaxHandlerFactory의 GetHandler 메서드는 10단계에서 호출되며 12단계는 Session을 준비하는 중입니다(비진행 모드). 따라서 12단계 전에 Session 사용을 결정해야 합니다.
모든 Action 코드는 ActionHandler에서 실행됩니다.
internal class ActionHandler : IHttpHandler{ internal InvokeInfo InvokeInfo; public void ProcessRequest(HttpContext context) { // 调用核心的工具类,执行Action ActionExecutor.ExecuteAction(context, this.InvokeInfo); }
ExecuteAction의 구현 과정은 다음과 같습니다.
internal static void ExecuteAction(HttpContext context, InvokeInfo vkInfo) { if( context == null ) throw new ArgumentNullException("context"); if( vkInfo == null ) throw new ArgumentNullException("vkInfo"); // 调用方法 object result = ExecuteActionInternal(context, vkInfo); // 设置OutputCache OutputCacheAttribute outputCache = vkInfo.GetOutputCacheSetting(); if( outputCache != null ) outputCache.SetResponseCache(context); // 处理方法的返回结果 IActionResult executeResult = result as IActionResult; if( executeResult != null ) { executeResult.Ouput(context); } else { if( result != null ) { // 普通类型结果 context.Response.ContentType = "text/plain"; context.Response.Write(result.ToString()); } } }internal static object ExecuteActionInternal(HttpContext context, InvokeInfo info) { // 准备要传给调用方法的参数 object[] parameters = GetActionCallParameters(context, info.Action); // 调用方法 if( info.Action.HasReturn ) return info.Action.MethodInfo.Invoke(info.Instance, parameters); else { info.Action.MethodInfo.Invoke(info.Instance, parameters); return null; } }
전에 SetResponseCache()를 호출하는 타이밍을 언급하지 않았나요? ? , 이번 기회는 액션을 실행한 후입니다.
OutputCache를 설정한 후에는 반환 값을 처리할 차례입니다.
이전 코드에는 또 다른 중요한 호출이 있습니다:
// 准备要传给调用方法的参数object[] parameters = GetActionCallParameters(context, info.Action);
[관련 추천]
1. 특별 추천 : "php Programmer Toolbox" V0.1 버전 다운로드
MyMVC 상자에서 Action을 찾는 과정에 대한 자세한 설명 5 .
.NET MyMVC 프레임워크에서 반환 값을 처리하는 방법에 대한 튜토리얼6.
값을 할당하는 방법에 대한 튜토리얼 .NET MyMVC 프레임워크의 메서드
위 내용은 .NET MyMVC 프레임워크에서 Action을 실행하는 과정에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











DJI는 아직 새로운 액션 카메라 출시 계획을 확정하지 않았습니다. 대신 GoPro는 9월 4일에 두 개의 새로운 액션 카메라를 출시할 것이라고 예고하면서 올해 경쟁사보다 앞서 나갈 것으로 보입니다.

DJI가 Osmo Action 4(Amazon에서 현재 $299)를 출시한 지 거의 1년이 지났습니다. 그 이후로 회사는 새로운 RS 카메라 짐벌을 포함한 다른 부서에 집중해 왔습니다. 이 외에도 아바타 등 다양한 드론을 선보였습니다.

Insta360은 Insta360X4(Amazon에서 현재 $499.99)에 이어 올해 두 번째로 새로운 액션 카메라를 출시했습니다. 예상대로 회사는 4K 비디오 녹화 기능을 추가하는 업그레이드된 Go3S를 출시했습니다.구체적으로는 Inst

어떤 경우에는 네트워크 요청과 같은 비동기 작업을 Vuex에서 수행하고 싶은데, 이 상황을 어떻게 처리해야 할까요? 아래에서는 Vuex 상태 관리의 비동기 작업을 소개하겠습니다. 도움이 필요한 친구를 도와주세요!

GoPro는 이제 연간 액션 카메라 교체를 도입했습니다. 최근 몇 년과 달리 회사는 두 가지 모델을 출시하기로 결정했다. 하지만 작년 이맘때쯤 Max wi를 대체할 것이라는 예고에도 불구하고 360도 카메라로 돌아오지 않았습니다.

Elasticsearch의 대부분의 작업은 작업 패키지에 있는 해당 작업을 통해 이루어집니다. 그 구조는 아래 그림과 같습니다. 위 그림은 각 기능의 동작에 해당하는 동작 패키지의 부분 스크린샷입니다. 각 작업의 패키지도 index와 매우 유사합니다. 이러한 액션의 구현도 매우 유사합니다. 다음 그림은 indexaction의 상속 관계를 보여줍니다. 이러한 액션은 실제로 해당 기능을 구현하지 않으므로 프록시일 뿐이므로 구현도 마찬가지입니다. 매우 간단합니다. 주요 기능은 새로운 응답 및 요청과 해당 작업을 생성하는 방법을 제공하는 것입니다.

완전히 새로운 GoPro 액션 카메라의 세부 정보가 Hero 13 Black에 대한 동등한 정보와 함께 온라인으로 유출되었습니다. 아래에 포함된 정보는 현재 삭제된 Amazon US 목록에서 가져온 것으로 알려져 있습니다.

Amazfit GTR 3 Pro 한정판은 현재 Amazon에서 정가 $209.99에서 40% 할인된 $124.99에 판매되고 있습니다. 알루미늄 케이스가 있는 표준 버전과 비교하여 Amazfit GTR 3 Pro 한정판은 손으로 광택을 낸 얼룩을 사용합니다.
