按照构建C#类的在线指南,并将类代码粘贴到新类中,唯一没有解决的部分是这一行:
canonicalRequest.AppendFormat("{0}\n", GetCanonicalQueryParameters(request.RequestUri.ParseQueryString()));
从这个功能
private static string GetCanonicalRequest(HttpRequestMessage request, string[] signedHeaders)
{
var canonicalRequest = new StringBuilder();
canonicalRequest.AppendFormat("{0}\n", request.Method.Method);
canonicalRequest.AppendFormat("{0}\n", request.RequestUri.AbsolutePath);
canonicalRequest.AppendFormat("{0}\n", GetCanonicalQueryParameters(request.RequestUri.ParseQueryString()));
canonicalRequest.AppendFormat("{0}\n", GetCanonicalHeaders(request, signedHeaders));
canonicalRequest.AppendFormat("{0}\n", String.Join(";", signedHeaders));
canonicalRequest.Append(GetPayloadHash(request));
return canonicalRequest.ToString();
}
错误是System.Uri没有包含parsequerystring的定义?这看起来很奇怪,因为MSDN发现这是一个合法的函数,用于获取URL的查询部分。我有所有必需的用法和参考资料,但这仍然无法解决。有任何想法吗?
答案 0 :(得分:2)
您需要添加对System.Net.Http.Formatting
库的引用(右键单击References,然后选择“Add Reference”,浏览该库的.NET引用。
然后一定要在顶部添加正确的“使用”:
using System.Net.Http
该方法是一种扩展方法,文档可以是found here on MSDN。