system.uri'不包含'parsequerystring'的定义

问题描述 投票:2回答:1

按照构建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的查询部分。我有所有必需的使用和参考,但这仍然无法解决。有任何想法吗?

c# .net uri
1个回答
2
投票

您需要添加对System.Net.Http.Formatting库的引用(右键单击References,然后选择“Add Reference”,浏览该库的.NET引用。

然后一定要在顶部添加正确的“使用”:

using System.Net.Http

该方法是一种扩展方法,文档可以是found here on MSDN

© www.soinside.com 2019 - 2024. All rights reserved.