C# asp.net mvc在ActionResult中多次循环后不执行任何操作
我正在研究遗传算法的实现 我使用ASP.NET MVC4 web应用程序编写代码 输入用户:C# asp.net mvc在ActionResult中多次循环后不执行任何操作,c#,asp.net-mvc,asp.net-mvc-4,genetic-algorithm,C#,Asp.net Mvc,Asp.net Mvc 4,Genetic Algorithm,我正在研究遗传算法的实现 我使用ASP.NET MVC4 web应用程序编写代码 输入用户: 可用出租车数量 最大生成 最大收敛 根据测试,如果用户输入的可用出租车数量少于30辆,最大生成量少于100辆,那么我的代码就可以正常工作 问题是:如果用户输入超过上述条件,那么我的代码只在18-40次迭代循环中工作,然后它什么也不做 有人能告诉我怎么解决这个问题吗? 我做了一些与这个问题相关的研究,答案是在控制器中添加异步,但是没有帮助,我的问题仍然存在 以下是我的总体控制器工作流程: [Htt
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Index(ProsesGADTO dto)
{
if (ModelState.IsValid)
{
- Some Genetic Algorithm Process
while (maxGeneration > countGeneration && checkConvergence < maxConvergence)
{
countGeneration++;
- Extended genetic algorithm process
}
return RedirectToAction("HasilGA");
}
else return RedirectToAction("Index");
}
[HttpPost]
[ValidateAntiForgeryToken]
公共异步任务索引(ProsesGADTO dto)
{
if(ModelState.IsValid)
{
-一些遗传算法过程
while(maxGeneration>countGeneration&&checkConvergence
我编辑了这个问题,使它更简单。
最后的实现没有使用异步。代码中有一个无限循环。您需要找出为什么它永远不满足退出该循环的条件。您所说的“然后它什么都不做”是什么意思?它是退出方法还是挂起?你怎么能说它什么也没做?@AndriiLitvinov yep hang也许,我在代码中做了一个断点,在visual studio调试18次迭代后,进程没有在断点处暂停。尝试在操作中写入日志,看看它停止了什么。在方法的开头和结尾以及主要代码块内编写日志。而且症状类似于死锁。也许你可以发布你的解决方案?为什么需要任务延迟?@AndriiLitvinov错误日志或?我需要这样记录吗?对不起,我是c#编程新手。我真的不需要task.delay,我只是遇到了同样的问题,他们使用task.delay修复了它,所以我也尝试了,但没有成功。例如,你可以设置NLog以登录到文件。您的算法中还有其他异步操作吗?试着注释掉你算法中的一些块,以缩小问题的范围。还可以尝试在控制台应用程序项目中运行,看看它是否有任何不同。