6

我正在使用HttpClient,我需要为HttpMethod. 在 usingHttpWebRequest只需要一个字符串的地方,HttpClient需要一个HttpMethod. 枚举中的可用值HttpMethod,我看不到添加自定义值的方法。有什么想法吗?

4

2 回答 2

8

不知道为什么我以前没想过尝试这个,但我可以打电话new HttpMethod("MYMETHOD");

于 2013-10-25T17:49:41.150 回答
2

太感谢了。我尝试了最奇怪的东西,但我没有看到这个简单的解决方案:)

我尝试使用 CalDAV REST-Requests 在 XAML-C#-MetroApp 中连接我自己的Cloud-CalDAV-Server。现在完美运行。我终于可以将 HTTP-Method 更改为 PROPFIND-Type。

这是我检索信息的代码(http://sabre.io/dav/building-a-caldav-client/)。

    ...
        try {
            HttpClientHandler httpClientHandler = new HttpClientHandler();
            httpClientHandler.AllowAutoRedirect = false;
            httpClientHandler.Credentials = new NetworkCredential(caldavuserTB.Text, caldavpasswordTB.Text);

            HttpClient httpClient = new HttpClient(httpClientHandler);
            httpClient.MaxResponseContentBufferSize = 256000;

            propfindMethod = new HttpMethod("PROPFIND");

            propfindHttpRequestMessage = new HttpRequestMessage(propfindMethod, webURLAsURI);

            propfindHttpRequestMessage.Headers.Add("Prefer", "return-minimal");
            propfindHttpRequestMessage.Headers.Add("Depth", "0");
            propfindHttpRequestMessage.Headers.Add("Accept", "application/xml; charset=utf-8");
            propfindHttpRequestMessage.Content = new StringContent("<d:propfind xmlns:d=\"DAV:\" xmlns:cs=\"http://calendarserver.org/ns/\"><d:prop><d:displayname /><cs:getctag /></d:prop></d:propfind>");


            propfindHttpResponseMesage = await httpClient.SendAsync(propfindHttpRequestMessage);
        }
    ...
于 2015-01-04T04:09:34.893 回答