2013-02-24 43 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); 
}