【发布时间】:2015-02-22 04:18:59
【问题描述】:
用户输入他/她的登录详细信息后,我的控制器中有以下代码行
var userProfile = UserService.UserLogin(userLogin);
调用外部 Web API 时引用的静态类
public static UserProfile UserLogin(UserLogin userLogin)
{
var client = new RestClient(Url);
var request = new RestRequest("api/UserLoginApi/", Method.GET) { RequestFormat = DataFormat.Json };
request.AddBody(userLogin);
var response = client.Execute(request);
var userProfile = JsonConvert.DeserializeObjectAsync<UserProfile>(response.Content).Result;
return userProfile;
}
上面调用这个Web Api没有问题,我可以打断点设置
public UserProfile Get([FromBody] UserLogin userLogin)
{
UserProfile userProfile;
return userProfile;
}
但是当我在 Web Api 中检查 userLogin 内的值时,它们是否为空?
现在逐步通过控制器,userLogin 有我输入的电子邮件地址和密码,再次进入 UserService.Login 值仍然存在,当它到达时
var response = client.Execute(request);
我展开请求并看到参数的计数为 1,但是当它在我的 Web Api GET 中遇到断点时,userLogin 为空?
我也在 UserService.Login 中尝试过这个
request.AddBody(new UserLogin
{
EmailAddress = userLogin.EmailAddress,
Password = userLogin.Password
});
但是再次没有运气,我在这里做错了什么?
【问题讨论】:
-
它适用于我
request.AddObject(userLogin);
标签: c# asp.net-web-api asp.net-mvc-5 restsharp