2013-02-24 39 views
1

是否可以添加一个新的任意HTTP动词到System.Net.Http HttpClient?如何扩展(System.Net.Http)HttpClient Http Verbs?

案例中的问题:

我开发了一个基于MVC的文档同治系统的WebAPI。

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

我还需要支持:打印 - 打印文档,EMAIL - 发送文档。

在MVC端很容易添加VERB。添加[AcceptVerbs(“打印”)]装饰,你就完成了。

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

Dror

回答

3

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

using (var client = new HttpClient()) 
{ 
    var request = new HttpRequestMessage(new HttpMethod("PRINT"), "http://example.com"); 
    var result = client.SendAsync(request); 
}