1

是否可以向 System.Net.Http HttpClient 添加新的任意 HTTP 动词?

有问题的案例:

我为基于 MVC 的文档管理系统开发了一个 WebAPI。

API 支持:GET - 获取文档,POST - 创建新文档,PUT - 更新文档,DELETE - 删除文档。

我还需要支持:PRINT - 打印文档,EMAIL - 通过电子邮件发送文档。

在 MVC 端添加 VERB 很容易。添加 [AcceptVerbs("PRINT")] 装饰就完成了。

但我需要指导使用我的 API 的开发人员如何访问它。由于他们使用的是 HttpClient,我的问题是:如何使用 HttpClient 使用这些 VERB?

德罗

4

1 回答 1

3

这些不是标准的 HTTP 动词。我不建议您使用它们。如果您坚持使用它们,您可以使用SendAsync允许您指定要使用的 HTTP 动词的方法:

using (var client = new HttpClient())
{
    var request = new HttpRequestMessage(new HttpMethod("PRINT"), "http://example.com");
    var result = client.SendAsync(request);
}
于 2013-02-24T14:05:55.807 回答