Azure正在强制客户端发送HTTP Expect 100以继续处理大型数据请求

Azure正在强制客户端发送HTTP Expect 100以继续处理大型数据请求,azure,azure-cloud-services,Azure,Azure Cloud Services,我有一个带有WorkerRole的Azure云服务,它接受https请求 如果负载大于50KB,Azure magic似乎正在强制客户端在https请求头中发送Expect 100 Continue 如果将数据小于50KB的请求发送到Azure https端点,服务器将返回响应,否则请求将超时。如果Expect 100 Continue添加到大于50KB的请求中,则该请求被接受 知道为什么以及如何禁用此功能吗 实际上是客户机控制着这一切。您的客户端实现必须发送HTTP头,如下所示: Expect

我有一个带有WorkerRole的Azure云服务,它接受https请求

如果负载大于50KB,Azure magic似乎正在强制客户端在https请求头中发送Expect 100 Continue

如果将数据小于50KB的请求发送到Azure https端点,服务器将返回响应,否则请求将超时。如果Expect 100 Continue添加到大于50KB的请求中,则该请求被接受


知道为什么以及如何禁用此功能吗

实际上是客户机控制着这一切。您的客户端实现必须发送HTTP头,如下所示:

Expect: 100-continue
否则服务器就不会用100 Continue状态来回复

如果您不想使用HTTP/1.1的这个特性,那么只需停止从您的客户机发送头。在.NET中,默认情况下它是打开的,您可以使用以下静态属性为
AppDomain
中的所有
HttpWebRequest
s关闭它:

 ServicePointManager.Expect100Continue = false;

嗨,德鲁!我的服务将Expect100Continue设置为false。如果我没有将Exect 100 Continue从客户端发送到Azure,以获得大于50KB的负载,则会出现http连接超时错误,服务器根本不会响应。如果有效负载为50KB,我的请求被接受hi@DanDinu您能解决您的问题吗?我们的团队这些天也遇到了同样的麻烦,我们不知道如何解决…@netblognet最终不幸没有解决它。我还和一些运气不好的azure家伙联系过。