我要发布到MVC Azure应用程序服务,并且在较大的请求(100-150KB +)上,它们在命中任何我的代码之前都会超时。
如果我查看日志流(应用程序或Web服务器),则看不到请求到达服务器。如果将远程调试器附加到进程,则它永远不会到达控制器中的第一行代码。
如果我在IIS Express中本地运行webapp并将其发布到该应用程序,则不会有任何问题,并且它会立即通过。
该请求只是该类型的XML数据(使用application / xml)。
控制器和路由非常裸露
路由:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "{controller}/{action}"
//defaults: new {}
);
控制器
[HttpPost]
public UpdateRepairOrderResponse Post()
{
int ix = 0; //doesn't even hit this
}
使用RestSharp测试应用
static void Main(string[] args)
{
var client = new RestClient("https://AZUREURL/Post");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/xml");
request.AddParameter("application/xml", "<105kb of xml data here>", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
}
我收到了Azure支持的回复。我正在使用客户端证书身份验证,并且超过一定大小(大约100KB)的请求看起来像是一个问题
来自支持:
要确认,打开客户端身份验证会发生此问题吗?如果是这样,这是当前已知的问题。当前的解决方法是建立具有较小有效负载的连接,或者使用现有连接发布新的有效负载。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句