API项目无法从程序集“System.Web”加载类型“System.Web.HttpContext”
testcontroller中做删除操作时需要写入日志,调用写入日志方法:
private void WriteLog(string userName, string content)
{
DateTime dataTime = DateTime.Now;
LogModel log = new LogModel();
log.userName = userName;
log.ip = Common.GetIP(); //将断点放入此处,F11不进入方法内,直接跳到catach中,提示Could not load type 'System.Web.HttpContext' from assembly 'System.Web
log.content = content;
//add(log);
}
GetIP方法:
public static string GetIP()
{
string ip;
string[] temp;
bool isErr = false;
if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_ForWARDED_For"] == null)
ip = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
else
ip = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_ForWARDED_For"].ToString();
if (ip.Length > 15)
isErr = true;
else
{
temp = ip.Split('.');
if (temp.Length == 4)
{
for (int i = 0; i < temp.Length; i++)
{
if (temp[i].Length > 3) isErr = true;
}
}
else
isErr = true;
}
if (isErr)
return "127.0.0.1";
else
return ip;
}
请问WebAPI项目如果获取ip不用HttpContext么?应该怎么做?谢谢~