jjzjj

HttpResponseMessage

全部标签

c# - Content-Type 字符集是否未从 HttpResponseMessage 公开?

我正在将一些代码从使用HttpWebRequest转换为HttpClient。我遇到的一个问题是从内容类型响应header获取字符集。使用HttpWebRequest时,字符集在HttpWebResponse.CharacterSet属性中公开,如下所示using(WebResponseresponse=awaitthis.webRequest.GetResponseAsync()){stringcharacterSet=((HttpWebResponse)response).CharacterSet;您还可以从WebResponse.ContentType属性或从HttpWebRes

c# - 在内容 100% 完成之前从 HttpResponseMessage 读取 header

如何在整个响应流回之前访问响应header?如何在流到达时读取它?HttpClient是我对接收http响应进行这种精细控制的最佳选择吗?这里有一个片段可以说明我的问题:using(varresponse=await_httpClient.SendAsync(request,HttpCompletionOption.ResponseHeadersRead)){varstreamTask=response.Content.ReadAsStreamAsync();//howdoIcheckifheadersportionhascompleted?//DoesHttpCompletionOp

c# - 从 HttpResponseMessage 获取内容以使用 c# 动态关键字进行测试

在其中一个Action中,我做了这样的事情publicHttpResponseMessagePost([FromBody]Foofoo){..........varresponse=Request.CreateResponse(HttpStatusCode.Accepted,new{Token="SOME_STRING_TOKEN"});returnresponse;}还有更多类似的方法返回一个匿名类型实例,并且效果很好。现在,我正在为它编写测试。我有HttpResponseMessageresponse=_myController.Post(dummyFoo);HttpRespons

c# - DelegatingHandler 应该如何进行异步调用(ASP.NET MVC Web API)?

我很乐意在调用内部处理程序的SendAsync()之前执行同步工作,并在内部处理程序通过完成完成后执行同步工作。例如:protectedoverrideTaskSendAsync(HttpRequestMessagerequest,CancellationTokencancellationToken){//dosomesyncworkbeforeinnerhandlerherevarsendTask=base.SendAsync(request,cancellationToken);returnsendTask.ContinueWith(task=>{//dosomesyncworka

c# - 值不能为空。参数名称 : request

我正在使用nunit创建单元测试,所有这些代码在运行时都运行良好。我在下面有这个protectedHttpResponseMessage代码,当它返回时我的Controller正在调用它。但是,报错:"Valuecannotbenull.Parametername:request"isdisplaying.当我检查请求时,它实际上是null。问题:我将如何编写单元测试代码以返回HttpResponseMessage?错误显示在这一行:protectedHttpResponseMessageCreated(Tresult)=>Request.CreateResponse(HttpStat

c# - 您可以在同一个 Web API Controller 中使用 2 个具有不同参数类型的 GET 方法吗?

这个问题在这里已经有了答案:CanIhaveMultipleGetMethodsinASP.NetWebAPIcontroller(2个答案)关闭7年前。我有一个带有2个GET方法的asp.netwebapiController。一个接受字符串参数,另一个接受int参数。我只有使用webapi设置的默认路由。publicHttpResponseMessageGetSearchResults(stringsearchTerm){HttpResponseMessageresponse;//DoWorkreturnresponse;}publicHttpResponseMessageGet(

c# - 使用 ASP.NET Web API, Controller 如何返回使用 DotNetZip 库压缩的流图像集合?

我如何创建一个WebAPIController来生成并返回从内存中JPEG文件(MemoryStream对象)集合流式传输的压缩zip文件。我正在尝试使用DotNetZip库。我找到了这个例子:https://web.archive.org/web/20211020131216/https://www.4guysfromrolla.com/articles/092910-1.aspx#postadlink。但是Response.OutputStream在WebAPI中不可用,因此该技术不太有效。因此,我尝试将zip文件保存到新的MemoryStream;但它扔了。最后,我尝试使用Pus

c# - ASP.NET Web API - 返回 CLR 对象或 HttpResponseMessage

对于操作方法的返回类型,WebAPI中的一般做法似乎是什么?像这样返回CLR对象:publicIEnumerableGet(){return_contactService.GetAllForUser();}或者将您的对象包装在HttpResponseMessage中:publicHttpResponseMessageGet(){IEnumerablecontacts=_contactService.GetAllForUser();returnRequest.CreateResponse((HttpStatusCode)200,contacts);}我更喜欢将我自己的CLR对象作为返回类

c# - 使用 ASP.Net Webapi 流式传输大图像

我们正在尝试使用ASP.NetWebApi返回大型图像文件,并使用以下代码将字节流式传输到客户端。publicclassRetrieveAssetController:ApiController{//GETapi/retrieveasset/5publicHttpResponseMessageGetAsset(intid){HttpResponseMessagehttpResponseMessage=newHttpResponseMessage();stringfilePath="SomeImageFile.jpg";MemoryStreammemoryStream=newMemory

c# - 如何从 HttpResponseMessage 中读取 cookie?

这是我最近的代码:HttpClientauthClient=newHttpClient();authClient.BaseAddress=newUri("http://localhost:4999/test_db/_session");authClient.DefaultRequestHeaders.Accept.Add(newMediaTypeWithQualityHeaderValue("application/json"));varuser=newLoginUserSecretModel{name=userKey,password=loginData.Password,};Htt