Asp.net web api 我想执行第二次登录(contactnumber,password),但在传递参数后,它仍在调用列表登录方法。如何解决此问题?

Asp.net web api 我想执行第二次登录(contactnumber,password),但在传递参数后,它仍在调用列表登录方法。如何解决此问题?,asp.net-web-api,model-view-controller,Asp.net Web Api,Model View Controller,我想执行第二次登录(contactnumber,password),但在传递参数后,它仍在调用列表登录方法。如何解决此问题 [HttpGet] public IEnumerable<UserDetail> Login() { using (HeandSheEntities entities = new HeandSheEntities()) {

我想执行第二次登录(contactnumber,password),但在传递参数后,它仍在调用列表登录方法。如何解决此问题

[HttpGet]
            public IEnumerable<UserDetail> Login()
            {
                using (HeandSheEntities entities = new HeandSheEntities())
                {
                    return entities.UserDetails.ToList();
                }
            }
            [System.Web.Http.AcceptVerbs("GET")]
            [System.Web.Http.HttpGet]
            public HttpResponseMessage Login(String ContactNumber, String Password)    {
                {  String Upass = encryption(Password);
                    using (HeandSheEntities entities = new HeandSheEntities())
                    {
                        bool userphone = entities.UserDetails.Any(u => u.UserContactNumber.Equals(ContactNumber));
                        bool userpass = entities.UserDetails.Any(u => u.UserPassword.Equals(Upass));
                        if (ModelState.IsValid && userphone && userpass)
                        {
                           var user = entities.UserDetails.FirstOrDefault(u => u.UserContactNumber.Equals(ContactNumber));
                            if (user != null)
                                return Request.CreateResponse(HttpStatusCode.OK, user, new System.Net.Http.Headers.MediaTypeHeaderValue("application/json"));
                            else
                                return Request.CreateResponse(HttpStatusCode.BadRequest, "Either Contact Number or password is not correct", new System.Net.Http.Headers.MediaTypeHeaderValue("application/json"));

                        }
                        else
                        {
                            return Request.CreateResponse(HttpStatusCode.BadRequest, "Either Contact Number or password is not correct", new System.Net.Http.Headers.MediaTypeHeaderValue("application/json"));
                        }
                        }
                    }
           }
[HttpGet]
公共IEnumerable登录()
{
使用(HeandSheEntities entities=new HeandSheEntities())
{
返回entities.UserDetails.ToList();
}
}
[System.Web.Http.AcceptVerbs(“GET”)]
[System.Web.Http.HttpGet]
公共HttpResponseMessage登录(字符串ContactNumber,字符串密码){
{String Upass=加密(密码);
使用(HeandSheEntities entities=new HeandSheEntities())
{
bool userphone=entities.UserDetails.Any(u=>u.UserContactNumber.Equals(ContactNumber));
bool userpass=entities.UserDetails.Any(u=>u.UserPassword.Equals(Upass));
if(ModelState.IsValid&&userphone&&userpass)
{
var user=entities.UserDetails.FirstOrDefault(u=>u.UserContactNumber.Equals(ContactNumber));
如果(用户!=null)
return Request.CreateResponse(HttpStatusCode.OK,user,new System.Net.Http.Headers.MediaTypeHeaderValue(“application/json”);
其他的
return Request.CreateResponse(HttpStatusCode.BadRequest,“联系人号码或密码不正确”,new System.Net.Http.Headers.MediaTypeHeaderValue(“应用程序/json”);
}
其他的
{
return Request.CreateResponse(HttpStatusCode.BadRequest,“联系人号码或密码不正确”,new System.Net.Http.Headers.MediaTypeHeaderValue(“应用程序/json”);
}
}
}
}

两个操作方法使用相同的http谓词,使用相同的名称。不能重载操作方法。见和。从语义上讲,您应该使用POST http方法来更改状态(例如,记录用户),它将起作用

[HttpPost]
public HttpResponseMessage Login(String ContactNumber, String Password) 

但是当我在做[HttpPost]时,它会转到一些post函数。公共HttpResponseMessage寄存器([FromBody]UserDetail User){//code}是的,在这种情况下,post方法是合适的动词。我没有得到你的解决方案,请解释