Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在.net http客户端getasyn方法中传递查询参数和路径参数_C#_Httpclient - Fatal编程技术网

C# 如何在.net http客户端getasyn方法中传递查询参数和路径参数

C# 如何在.net http客户端getasyn方法中传递查询参数和路径参数,c#,httpclient,C#,Httpclient,我需要将查询参数和路径参数传递给.NET中的HttpClient GetAsync()方法 文件/{document\u id}?版本={version\u number} [路由(“api/drs/v1/document/getdetails/{Id}”)] [HttpGet] 公共异步任务文档详细信息(HttpRequestMessage详细信息) { //Debugger.Launch(); 尝试 { 使用(HttpClient=new HttpClient()) { client.Def

我需要将查询参数和路径参数传递给.NET中的HttpClient GetAsync()方法

文件/{document\u id}?版本={version\u number}

[路由(“api/drs/v1/document/getdetails/{Id}”)]
[HttpGet]
公共异步任务文档详细信息(HttpRequestMessage详细信息)
{
//Debugger.Launch();
尝试
{
使用(HttpClient=new HttpClient())
{
client.DefaultRequestHeaders.Accept.Clear();
//字符串路径=Request.Url.GetLeftPart(UriPartial.path);
HttpResponseMessage response=await client.GetAsync(“http://localhost:8089/api/drs/v1/document/getdetail/"]);
if(响应。IsSuccessStatusCode)
{
控制台。写入(“成功”);
}
其他的
{
控制台。写入(“失败”);
}
返回响应;
}
}
捕获(例外e)
{
投掷e;
}
}

我无法在GetAsync()方法中同时传递这两个参数,请尝试使用下一个扩展方法来构建url。您可以传递所需的基本url、路径和参数字典

    public static Uri BuildUri(string baseUrl, string path, Dictionary<string, string> queryParams = null)
    {
        var uriBuilder = new UriBuilder(baseUrl) {Path = path};

        if (queryParams != null)
        {
            var query = string.Join("&", queryParams.Select(x => $"{x.Key}={x.Value}").ToArray());
            uriBuilder.Query = query;
        }

        return uriBuilder.Uri;
    }
publicstaticuribuilduri(stringbaseurl,stringpath,Dictionary queryParams=null)
{
var uriBuilder=newuribuilder(baseUrl){Path=Path};
if(queryParams!=null)
{
var query=string.Join(“&”,queryParams.Select(x=>$”{x.Key}={x.Value}”).ToArray();
uriBuilder.Query=Query;
}
返回uriBuilder.Uri;
}

尝试使用下一个扩展方法来构建url。您可以传递所需的基本url、路径和参数字典

    public static Uri BuildUri(string baseUrl, string path, Dictionary<string, string> queryParams = null)
    {
        var uriBuilder = new UriBuilder(baseUrl) {Path = path};

        if (queryParams != null)
        {
            var query = string.Join("&", queryParams.Select(x => $"{x.Key}={x.Value}").ToArray());
            uriBuilder.Query = query;
        }

        return uriBuilder.Uri;
    }
publicstaticuribuilduri(stringbaseurl,stringpath,Dictionary queryParams=null)
{
var uriBuilder=newuribuilder(baseUrl){Path=Path};
if(queryParams!=null)
{
var query=string.Join(“&”,queryParams.Select(x=>$”{x.Key}={x.Value}”).ToArray();
uriBuilder.Query=Query;
}
返回uriBuilder.Uri;
}

查询参数是URL的一部分,这部分称为查询参数是URL的一部分,这部分称为