68得票2回答
如何配置HttpClient在收到301 HTTP状态码时不自动重定向?

考虑一个ASP.NET Web API服务,该服务会重定向。 public class ThisController : ApiController { /* more methods */ public override HttpResponseMessage Post(...

67得票3回答
ASP.NET WebApi:如何使用WebApi HttpClient执行带文件上传的多部分POST请求

我有一个WebApi服务处理来自简单表单的上传,就像这个表单: <form action="/api/workitems" enctype="multipart/form-data" method="post"> <input type="hidden"...

66得票5回答
在调用ReadAsStreamAsync时何时或是否需要处理HttpResponseMessage?

我正在使用 System.Net.Http.HttpClient 进行客户端HTTP通信。我将所有HTTP代码都抽象到一个地方,使其与其他代码分离。在某些情况下,我希望将响应内容作为流读取,但是流的使用者与HTTP通信发生的位置以及打开流的具体细节相隔较远。在负责HTTP通信的代码中,我正在销...

65得票4回答
尝试并行运行多个HTTP请求,但受到Windows(注册表)的限制。

我正在开发一个应用程序(winforms C# .NET 4.0),其中通过简单的HTTP请求访问第三方提供的查找功能。我调用带有参数的URL,然后返回一个包含查找结果的小字符串。这很简单。 然而,挑战在于我需要进行大量的这些查找(几千个),我想限制所需的时间。因此,我想并行运行请求(例如1...

62得票4回答
可以重用 HttpClient,但每个请求可以使用不同的超时设置吗?

为了重用 HttpClient 中的开放式TCP连接,您需要为所有请求共享单个实例。 这意味着我们不能简单地使用不同的设置(例如超时或标头)来实例化 HttpClient 。 那么我们如何同时共享连接并使用不同的设置呢?事实上,旧的 HttpWebRequest 和 WebClient 基...

57得票5回答
Httpclient此实例已经启动了一个或多个请求。属性只能在发送第一个请求之前修改。

我正在使用.Net Core 2.1创建一个应用程序,并使用http客户端进行Web请求。问题是,我需要发送并行调用以节省时间,并且为此我正在使用Task.WhenAll()方法,但当我调用该方法时,我会收到错误消息:“此实例已经启动了一个或多个请求。属性只能在发送第一个请求之前修改”。之前我...

56得票4回答
如何在 .NET 测试中传入模拟的 HttpClient?

我有一个服务,使用Microsoft.Net.Http来检索一些Json数据。很好! 当然,我不想让我的单元测试访问实际的服务器(否则,那就是集成测试)。 这是我的服务构造函数(使用依赖注入...)public Foo(string name, HttpClient httpClient = ...

55得票2回答
如何在.NET Core中使用HttpClientFactory和HttpClientHandler

我想使用.NET Core 2.1中可用的HttpClientFactory,但我还想使用HttpClientHandler来利用AutomaticDecompression属性创建HttpClients。 我遇到了麻烦,因为.AddHttpMessageHandler<>需要一...

54得票3回答
我应该在Web API服务和客户端之间共享类型吗?还有其他选项吗?

我们正在开发Web API RESTful服务,为我们企业所有应用程序提供通用数据访问。为了帮助,我们还将发布一个客户端API,它封装了所有HttpClient的细节,并提供了对数据的强类型访问。 我们的目标是从小处开始逐步添加功能,同时仍然保持向后兼容已部署版本的客户端API(与相同主要版...

53得票12回答
将多个复杂对象传递给post/put Web API方法

请问有人能帮我了解如何像下面展示的那样从C#控制台应用程序传递多个对象到Web API控制器吗?using (var httpClient = new System.Net.Http.HttpClient()) { httpClient.BaseAddress = new Uri(Co...