Web API 2.0-WCF AfterReceiveRequest (IDispatchMessageInspector 멤버)와 유사한 ASP.NET 웹 API에서 들어오는 요청의 유효성을 검사하는 방법

시발

기존 WCF 서비스를 Web API로 마이그레이션하고 있습니다. WCF에서는 들어오는 요청 및 나가는 응답의 유효성을 검사 / 로깅하기 위해 IDispatchMessageInspector 멤버를 구현했습니다. 아래와 같이

"#region IDispatchMessageInspector 구성원"

    public object AfterReceiveRequest(ref System.ServiceModel.Channels.Message request, IClientChannel channel, InstanceContext instanceContext)
    {
        //Log the Request with Log4Net
        Logging.InfoMessage = string.Format("{0} - {1}", "Before calling ", GetWebMethodName());
        Logging.DebugMessage = request.ToString();
        Logging.WriteLog();

        //Logic to validate Request
        }
        return null;
    }        

    public void BeforeSendReply(ref System.ServiceModel.Channels.Message reply, object correlationState)
    {
        //Log the Response with Log4Net
        Logging.DebugMessage = reply.ToString();
        Logging.InfoMessage = string.Format("{0} - {1}", "After called ", GetWebMethodName());
        Logging.WriteLog();
    }

#endregion

webAPI 2.0에서 동일한 결과를 얻고 싶습니다. 이렇게하면 모든 요청 유효성 검사가 전역 적으로 처리되고 로깅도 처리됩니다.

이미 하셨다면 경험을 공유 해주세요 ..

Guanxi

사용자 지정 메시지 처리기를 만드는 것이 좋습니다. 사용자 정의 메시지 핸들러는 DelegatingHandler 클래스에서 상속되는 클래스 입니다.

WebAPI 요청 처리 주기로 들어오는 모든 요청은 먼저 요청 핸들러가 처리하고 나가는 모든 응답은 마지막으로 핸들러에 의해 처리됩니다.

https://www.asp.net/media/4071077/aspnet-web-api-poster.pdf

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관