SOF*_*ser 2 c# asp.net-web-api
我已经托管了在ASP.net中开发的Web Api.我想如果有人调用我的API,那么我可以稍后登录数据库,如果我想使用C#拒绝来自特定id的请求.
获取消费者IP和HostName的最佳做法是什么?
public static string GetIP4Address()
{
string IP4Address = String.Empty;
foreach (IPAddress IPA in Dns.GetHostAddresses(Request.ServerVariables["REMOTE_ADDR"].ToString())))
{
if (IPA.AddressFamily.ToString() == "InterNetwork")
{
IP4Address = IPA.ToString();
break;
}
}
if (IP4Address != String.Empty)
{
return IP4Address;
}
foreach (IPAddress IPA in Dns.GetHostAddresses(Dns.GetHostName()))
{
if (IPA.AddressFamily.ToString() == "InterNetwork")
{
IP4Address = IPA.ToString();
break;
}
}
return IP4Address;
}
Run Code Online (Sandbox Code Playgroud)
解析名称听起来不错.如果从dns无法解析的客户端计算机调用该怎么办?我告诉你,dns需要永远,然后失败,你必须捕获并记录为"未知主机名".
至于请求地址,只需获取它
HttpContext.Current.Request.UserHostAddress
Run Code Online (Sandbox Code Playgroud)