【发布时间】:2017-04-18 04:18:48
【问题描述】:
我创建了 WebAPI 服务。我在服务中有控制器,它看起来像:
public class MyController : ApiController
{
[HttpPost]
public ResponceTools.APIResponce UserLoggedIn(UserArgs args)
{
//doing something
}
}
在哪里
public class UserArgs
{
public string UserID { get; set; }
}
我可以向 UserLoggedIn 方法发送请求并使用 curl 给出足够的响应:
curl --data "UserID=7822f2b9-44f1-4e30-a9da-d26e277fa0ac" http://localhost:8081/UserLoggedIn"
现在我正在编写.net Core Web App,我想使用这个服务。
string requestStr = WebAPIURL + "/UserLoggedIn";
var content = new StringContent("UserID=" + userID.ToString(),
System.Text.Encoding.Unicode,
"application/xml");
var task = client.PostAsync(requestStr, content);
var str = await task.Result.Content.ReadAsStringAsync();
但是方法 args 的值为 null。
我做错了什么?
附:我试图在我的 WebApi 应用程序中以“注册”方法激活 XmlSerializer。它没有帮助。
config.Formatters.XmlFormatter.UseXmlSerializer = true;
感谢您的帮助。
【问题讨论】:
-
var task = client.PostAsync(requestStr + "?UserId="+userID.tostring, content); // 不知道这样行不行
-
您的内容类型是 xml,但您没有发送 xml。
标签: .net asp.net-web-api asp.net-core