我已经花了几周的时间来解决这个问题,但是我仍然无法解决它。
我正在使用angularjs
中的http
调用Web API服务。
$http({
method: 'GET',
url: rootUrl + '/api/Project/ProjectList',
headers: {
'Content-Type': "application/json; charset=utf-8"
}
}).success(function (response) {
$scope.ProjectList = response;
}).error(function (response, errorCode) {
if (errorCode == 444) {
}
})
我已在服务器和客户端代码中设置了断点。
当我调用该服务时,服务器端方法会迅速响应。
我的服务器端方法(使用MVC WEB API和实体框架)。
[ActionName("ProjectList")]
[HttpGet]
public IList<Project> ProjectList(Project projectModel)
{
return objIProjectService.ListOfProject();
}
我检查了代码,服务返回了8条记录(从数据库中取得的8行数据),问题在于 objIProjectService.ListOfProject();
这一行。
一切都很好。但我的 http.success 和 http.error
回调函数响应非常慢。
请看下面的图片,展示我调用 http
方法时的性能表现。
最终,http error function
函数在5或10分钟后才响应,并显示以下错误信息:
System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown
这是问题所在。请告诉我如何解决?
实际上,我已经采取了一些措施来尝试解决这个问题。
- 我清理了临时文件夹 - 没有起作用
- 我重启了 Visual Studio 并清理了解决方案,重新启动了我的系统并修复了 Visual Studio - 也没有起作用
- 但是如果我删除数据库中的某些行(我使用的是
sql server 2008 r2
),那么它就会工作。
例如,如果我的数据库表少于7行,则它可以快速工作而没有错误。但是如果我的表有超过8行,那么它就会非常缓慢并且抛出错误?为什么呢? 如果你也遇到这个问题,请分享你的解决方案。
objIProjectService.ListOfProject();
函数的实现、数据库表结构以及正常运行和出现错误时的样本数据。 - Brendan Greenreturn context.products.ToList()
- Ramesh Rajendran