0

我一直在 asp.net 网站上使用新的 WebAPI。我使用可以获取的简单字符串创建了一些示例。我想看看我现在是否可以 POST 和 PUT 到该服务。

我正在寻找如何将对象添加到请求中,然后我可以从 .net 3.5 控制台应用程序中发布或 PUT。我要发送的对象只是一个简单的用户类,其中包含姓名、姓氏和用户 ID。

从我的测试来看,我似乎可以序列化它并通过 URI 发送它,但这似乎不太正确。我注意到这些请求有标题,我可以把数据放在那里吗?

4

2 回答 2

4

使用 .NET 3.5,我认为没有很多优雅的选项,但使用此代码的WebClient工作(您需要添加对 System.Web.Extensions 的引用):

WebClient client = new WebClient();
JavaScriptSerializer serializer = new JavaScriptSerializer();
var data = serializer.Serialize(new {Name = "Ali", Title = "Ostad"});
client.Headers[HttpRequestHeader.ContentType] = "application/json";
var downloadString = client.UploadString("http://localhost:59174/api/values", data); // value is "Ali"

这是控制器动作:

// POST /api/values
public string Post(JsonValue value)
{
    return value.AsDynamic().Name;
}
于 2012-04-27T09:27:19.990 回答
1

查看 NuGet 上的HttpClient。这使得通过 http 做大多数事情变得容易。

是一个使用它的例子

于 2012-04-27T08:44:05.743 回答