鉴于ASP.NET MVC控制器中的两个Action返回相同的内容,但是一个处理GET请求,另一个处理POST请求。 GET操作始终返回0.1秒,POST操作始终在30秒内返回。动作本身很快完成但由于某种原因,浏览器(IE和Chrome)显示在Network Profiler中等待30秒 - 这可能导致延迟?有什么办法可以调试吗?
[HttpGet]
public ActionResult MyAction()
{
return View("MyView");
}
[HttpPost]
public ActionResult MyAction(object obj)
{
return View("MyView");
}
每个网络资料:
http://MyDevServer.com:8080/MyController/MyAction 方法:GET 状态:200 OK 时间:0.194秒
http://MyDevServer.com:8080/MyController/MyAction 方法:POST 状态:200 OK 时间:30.39秒
答案 0 :(得分:0)
要考虑的一些事项:
您是否有一段代码挂钩并延迟执行,视图引擎,过滤器或提供程序?你可以通过使用像EQATEC Profiler这样的分析器来找到它(该死的被Telerik接管,但直到今年年底它仍然是免费的。)
1a上。你是否让MVC以标准方式找到你的观点?您是否以任何方式添加到ViewLocations?
您的服务器上发生了什么?你是否看到任何性能高峰,因为POST会表明发生了一些不愉快的事情?
删除对象参数后会发生什么?有什么变化吗?
你说这个是代码。您是否在此项目中使用Entity Framework? This可以根据设置有时显着提高性能。
在IIS中描述您的应用程序池。模式?其他设置?