ProgramingTip

void를 반환하는 ASP.Net MVC 컨트롤러 작업

bestdevel 2020. 10. 30. 08:20
반응형

void를 반환하는 ASP.Net MVC 컨트롤러 작업


다음 컨트롤러 작업이있는 경우 ...

public void DoSomething()
{
}

프레임 워크가 이것을 만들어 변환할까요?

public EmptyResult DoSomething()
{
  return new EmptyResult();
}

void를 반환하는 컨트롤러는 EmptyResult를 생성합니다.

에서 가져옴

ASP.NET MVC 컨트롤러의 수명과 시간


컨트롤러 ActionInvoker.cs 소스 코드를 확인하십시오 . 나는 무효화 확인하지 않는 논리에 따르면 무효 반환이 actionReturnValue를 null로 설정합니다. 이것은 ASP.net MVC 1.0의 소스를 확인하지 않은 최신 소스 코드입니다.

protected virtual ActionResult CreateActionResult(ControllerContext controllerContext, ActionDescriptor actionDescriptor, object actionReturnValue) {
    if (actionReturnValue == null) {
        return new EmptyResult();
    }

    ActionResult actionResult = (actionReturnValue as ActionResult) ??
        new ContentResult { Content = Convert.ToString(actionReturnValue, CultureInfo.InvariantCulture) };
    return actionResult;
}

"변환"은 아니지만 사용자가 우려하는 한 두 가지 효과는 동일합니다. 요청이 전송 응답이 클라이언트로 돌아옵니다.

개인적으로 응답 스트림에 직접 계속 또는 성공을 작성하지만 클라이언트에 응답을 다시 보내야 생각합니다. JSON true이나 빈 XML 문서도 아무것도없는 것보다 낫습니다.

참고 URL : https://stackoverflow.com/questions/2048643/asp-net-mvc-controller-actions-that-return-void

반응형