jjzjj

HttpClient

全部标签

c# - System.Net.Http.HttpClient 缓存行为

我正在使用NuGet的HttpClient0.6.0。我有以下C#代码:varclient=newHttpClient(newWebRequestHandler(){CachePolicy=newHttpRequestCachePolicy(HttpRequestCacheLevel.CacheIfAvailable)});client.GetAsync("http://myservice/asdf");服务(这次是CouchDB)返回一个ETag值和状态代码200OK。返回了一个Cache-Controlheader,其值为must-revalidate更新,这是来自couchdb的

c# - HttpClient 上的 ObjectDisposedException

我有一个带有多个API调用的Windows通用项目。一种方法拒绝工作,即使我的其他调用像这样完美地工作。我已经尝试使用using关键字,认为它可以解决问题。函数:publicasyncTaskGetNewUser(stringuser_guid,OAuthTokensOAuth){StringuserguidJSON=VALIDJSON_BELIEVE_ME;using(varhttpClient=newHttpClient()){httpClient.DefaultRequestHeaders.Accept.Add(newMediaTypeWithQualityHeaderValue

c# - ASP.NET Core 2 中多个相同类型实例的依赖注入(inject)

在ASP.NETCore2WebApi中,我想使用依赖注入(inject)来注入(inject)httpClientAHttpClient的实例至ControllerA,和一个实例httpClientB的HttpClient至ControllerB.DI注册代码如下所示:HttpClienthttpClientA=newHttpClient();httpClientA.BaseAddress=endPointA;services.AddSingleton(httpClientA);HttpClienthttpClientB=newHttpClient();httpClientB.Bas

c# - 在 Windows 窗体的 HttpClient 类中使用 DelegatingHandler - 尚未设置内部处理程序

首先,我收到的错误消息如下:尚未设置内部处理程序我正在编写一个自定义消息处理程序来处理我的API的身份验证cookie超时。例如,如果我的代码库调用API并收到401,那么它应该重试登录url以获取更新的cookie。我计划按如下方式完成此操作:publicclassCkApiMessageHandler:DelegatingHandler{privatereadonlystring_email;privatereadonlystring_password;privateconststring_loginPath="Account/Login";publicCkApiMessageHa

c# - HttpClient 和 ReadAsAsync<T>() 扩展方法

因此,我正在启动一个新的.Net4.0项目,并将使用公共(public)API进行一些工作。我计划使用MicrosoftHttpClient类,所以我安装了最新稳定版本的Microsoft.Net.HttpNuGet包(版本2.2.13)。我正在查看同事放在一起的一些POC代码,也使用HttpClient的NuGet包并注意到有这样的代码:HttpClientclient=newHttpClient();HttpResponseMessageresponse=client.GetAync("/uri").Result;DomainTyperesult=response.Content.

c# - 如何使 .net HttpClient 使用 http 2.0?

我有一个托管在IIS10(WindowsServer2016)上的asp.netWebAPI。当我从MicrosoftEdge浏览器对此发出GET请求时,我看到IIS日志中使用了HTTP2.02015-09-2021:57:59100.76.48.17GET/RestController/Native-443-73.181.195.76HTTP/2.0Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/42.0.2311.135+Safari/537.36+Edg

c# - 异步等待 Task.Run 与 HttpClient.GetAsync

我是c#5异步功能的新手。我试图了解这两种实现之间的区别:实现1:privatevoidStart(){foreach(varurlinurls){ParseHtml(url);}}privateasyncvoidParseHtml(stringurl){varquery=BuildQuery(url);//BuildQueryissomehelpermethodvarhtml=awaitDownloadHtml(query);//...MyTypeparsedItem=ParseHtml(html);SaveTypeToDB(parsedItem);}privateasyncTask

c# - HttpClient.PostAsync 使用退出代码 0 淘汰应用程序

今天一切正常,直到它停止......下面是最低限度的源代码(我使用的是VS2012Update1,.Net4.5)。当我运行它时,应用程序会在调用client.PostAsync()时退出,因此它永远不会到达Console.ReadLine()。同样在调试器中,没有异常,没有,退出代码0。我尝试重启机器,重启VS2012-没有任何效果。同样,今天一切都在运行,不确定发生了什么变化(没有安装软件等,所有其他网络应用程序仍然有效)。有什么想法吗?我想我疯了。classProgram{staticvoidMain(string[]args){Run();}privateasyncstatic

c# - 如何解析来自 HttpClient 的 JSON 字符串?

我通过调用外部API获得JSON结果。HttpClientclient=newHttpClient();client.BaseAddress=newUri(url);client.DefaultRequestHeaders.Accept.Add(newMediaTypeWithQualityHeaderValue("application/json"));HttpResponseMessageresponse=client.GetAsync(url).Result;if(response.IsSuccessStatusCode){varresult=response.Content.R

c# - 如何从非异步方法调用异步方法?

这个问题在这里已经有了答案:HowtocallasynchronousmethodfromsynchronousmethodinC#?(17个答案)关闭5年前。我有以下方法:publicstringRetrieveHolidayDatesFromSource(){varresult=this.RetrieveHolidayDatesFromSourceAsync();/**Dostuff**/varreturnedResult=this.TransformResults(result.Result);/**Whereresultgetsused**/returnreturnedResu