ASP.Net Web服务。如何拒绝请求?

时间:2010-08-04 16:25:10

标签: asp.net asmx

我有asmx网络服务,我想拒绝所有来自所有IP地址的请求,除了我知道的地址。

我使用了Application_BeginRequest,但在确认ip不是我知道的ip之后,我想知道我需要在下面的代码中替换注释。

由于

protected void Application_BeginRequest(object sender, EventArgs e)
{
     var  address = "916.222.18.0";
     var ip = Context.Request.ServerVariables["REMOTE_ADDR"];

     if (ip != address)
     {
         // reject request
     }
}

2 个答案:

答案 0 :(得分:3)

试试这个:

Context.Response.StatusCode = (int)HttpStatusCode.Forbidden;
Context.Response.End();

或者您只需重定向到另一个没有客户端限制的页面:

Context.Response.Redirect("Head-Fake.aspx");

答案 1 :(得分:1)

 if (ip != address)
 {
     Context.Response.StatusCode = 401; // Unauthorized
     Context.Response.End();
     // or
     throw new HttpNotFoundException();
 }