c# - 하고 - 모바일 403 forbidden 해결 방법



Asp.Net 웹 서비스:403 오류를 반환하고 싶습니다. (6)

Asp.Net 웹 API 2에서는 다음을 사용합니다.

return new StatusCodeResult(HttpStatusCode.Forbidden, this);

https://src-bin.com

C # / asp.net에서 프로그래밍 된 웹 서비스가 있습니다.

[WebService(Namespace = "http://example.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
[System.ComponentModel.ToolboxItem(false)]
public class Service: System.Web.Services.WebService
{

    [WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public Result GetData()
    {
        User user = GetUser();

        if (user.LoggedIn)
        {
            return GetData();
        }
        else
        {
            // raise exception -> return error 403
        }
    }

이 웹 서비스에서 오류 403을 어떻게 반환 할 수 있습니까? 나는 예외를 던질 수있다. 그러나 이것은 그의 오류가 아니라 예외를 보여주는 것이다.

어떤 아이디어?


Answer #1

MVC를 사용한다면 다음과 같이하십시오.

            return new HttpStatusCodeResult(HttpStatusCode.Forbidden);

Answer #2

금지 된 403은 귀하의 웹 사이트에서 금지 된 컨텐츠에 대한 액세스 결과입니다. 나는 당신이 여기에서 원하는 것이 "User is not logged on"이라는 결과의 일부로 메시지를 반환하는 것이라고 생각합니다.


Answer #3

웹 서비스 요청은 먼저 global.asax 파일을 접하게됩니다. 거기를 확인하고 돌아올 수 있습니다.


Answer #4

Context.Response.StatusContext.Response.StatusCode 둘 다 설정할 필요는 없습니다. 간단히 설정하기 만하면됩니다.

Context.Response.StatusCode = (int)System.Net.HttpStatusCode.Forbidden

Response.Status 가 자동으로 설정됩니다.


Answer #5
Context.Response.StatusCode = 403;




http-status-code-403