我试图提取MVC中的SQL服务器视图的结果。视图本身相对简单,UNION将几个表联系在一起 - 运行时大约需要2秒才能返回其行。我在MVC中将视图添加到我的模型中。MVC:超时问题
在我的控制,我有以下的代码,其目的是JSON格式返回从SQL视图中的值: -
public JsonResult GetActivity(string LocalIdentifier)
{
return Json(db.Activities.Where(r => r.LocalIdentifier== LocalIdentifier).ToList(), JsonRequestBehavior.AllowGet);
}
当我尝试运行此,提供有效的LocalIdentifier
什么也没发生的一段时间,然后在Visual Studio中出现异常(在用户代码中未处理)。作为参考,这通常只会返回30到50行SQL数据。
望着内部异常我得到这个错误: -
“超时时间已超时时间已过之前,操作完成或服务器没有响应。”
我在我的应用程序的其他地方做过类似的事情,它工作正常 - 我看不出MVC中的代码有什么问题。有什么我可以看看帮助诊断和解决这个问题?
更新
有趣的是,我只是改变了代码只提取一行(只是为了看看会发生什么 - 见下文),它运行瞬间......难道这是用ToList问题() ??有没有另外一种方法可以实现我想要做的事情?
public JsonResult GetActivity(string LocalIdentifier)
{
return Json(db.Activities.First(r => r.LocalIdentifier== LocalIdentifier), JsonRequestBehavior.AllowGet);
}
是您的数据库服务器r esponding? – Sherlock
是的...... db已启动并正在运行,并与我的其他应用程序一起工作。 –
因为它返回一个json格式,你是否设置了服务器授权?它可能是函数的调用者不授权调用该函数 – Sherlock