ajax调用.net webapi中执行后返回前端响应慢的问题。

guanyelong 2017-08-11 01:58:25
前段js代码

$.ajax({
type: "get",
url: ApiUrl + "api/Login/Validate",
contentType: "application/json",
data: { userName: uname, password: upass },
success: function (data, status) {
/**************data第一次接受到返回值平均用了8秒左右********************/
},
error: function (e) {
MaskUtil.unmask();
$.messager.alert("提示", e);
},
complete: function () {

}
});

webapi代码

public HttpResponseMessage Validate(string userName, string password)
{
try
{
bool result = userManager.ValidateUser(userName, password);
if (result)
{
int userId = UserManager.GetUserIdByUserName(userName);
TokenInfo token = tokenManager.CreateToken(userId, userName);
string json = JsonConvert.SerializeObject(token);
return new HttpResponseMessage { Content = new StringContent(json, System.Text.Encoding.UTF8, "application/json") };
}
}
catch (Exception ex)
{
PPLogger.Error("Passport-->LoginService-->Login:", ex);
}
return null;
}

后台代码执行后只用了不到1秒但是返回到js前段的时候等待了7s左右,前段才接受到返回的json值。不知道怎么原因。求大神说明改进方法。【JS---->get方法--->webapi(不到1秒)-->success(7秒左右) 】

...全文
825 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
guanyelong 2017-10-11
  • 打赏
  • 举报
回复
已解决。问题在于。webapi在IIS中 配置 需要动态压缩 选中即可。另外请求方法不能用EF 否则还会变慢。
都敏俊西 2017-08-29
  • 打赏
  • 举报
回复
楼主解决了嘛 我也遇到相同的问题
她微笑的脸_ 2017-08-14
  • 打赏
  • 举报
回复
webapi 第一次访问都很慢,需要配置iis,
全栈极简 2017-08-14
  • 打赏
  • 举报
回复
1. 用chrome F12测试一下,看哪步执行的时间较长 2. 调试你的web api的Validate方法,看执行时间
正怒月神 版主 2017-08-11
  • 打赏
  • 举报
回复
贴一下 chrome调试的访问时间。 顺便要看你是不是网络问题了。

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧