asp.net core 1.0 rc2 postback在第一次执行时非常慢

时间:2016-06-02 06:20:36

标签: asp.net asp.net-mvc entity-framework entity-framework-core asp.net-core-1.0

我最近将我的asp.net 5应用程序升级到asp.net core 1.0。

第一次执行时回发非常慢(1分钟+)。用户获得授权后,处理器达到峰值,并将大约10 GB的内容加载到内存中。

之后,命中postback方法中的断点并执行请求。如果我再次执行相同的方法,它将非常快。

如果我执行另一个回发方法,第一次执行时会发生同样的事情。

编辑: 回发对象导致此问题。只有当我将具有依赖性的实体框架创建的对象发回给其他对象时,才会发生这种情况。

For Instance:

public class PostbackObject
{ 

public virtual Object1 Object1 {get;set;}
public int Object1ID {get;set;}
}

如果我注释掉Object1

public class PostbackObject
{ 

//public virtual Object1 Object1 {get;set;}
public int Object1ID {get;set;}
}

我没有任何问题。而不是40秒,它只需不到1秒。

问题已解决,将在下一版本中修复。

这是一个临时解决方法:

https://github.com/aspnet/Mvc/issues/4666

对于任何有兴趣在我完成更改以验证更改之前尝试完成的人,这是预览:https://gist.github.com/rynowak/9488b3b1a6b81876d8b14de72feb0857

要使用此功能,请将该类粘贴到项目中,并将以下行添加到ConfigureServices

services.AddSingleton<IModelBinderFactory, MyModelBinderFactory>();

0 个答案:

没有答案