我有一个应用程序只执行以下任务:
但是,由于我无法控制的其他预定作业,存储过程中使用的某些表会被锁定。
所以,我基本上有这样的代码,以便用户被重定向到"服务器忙碌"页:
Dictionary<int, string> result = new Dictionary<int, string>();
try
{
result = new myRepository().GetUserInfo(userInput);
}
catch(Exception ex)
{
// in the error page, tell users to try again in a few minutes because the server is busy
Response.Redirect("ServerIsBusy.aspx");
}
使用我当前的代码,显示&#34;服务器忙碌需要一段时间&#34;消息,所以我试图找到是否有办法检测存储过程(GetUserInfo(userInput))是否尽快运行缓慢,以便我可以将用户重定向到&#34;服务器正在忙碌&# 34;页。
我尝试将httpRunTime executionTimeout设置为几秒钟,但正如许多网站所解释的那样,当设置数量很小时,此设置不能正常工作,而当我将其设置为5秒时,它需要大约20秒。
我可以使用任何配置或技巧来解决这个问题吗?
答案 0 :(得分:1)
如果您可以使用Ajax,我会向您的网络服务器发出asynchrone(带有jQuery)请求,并在您的网站上显示一个buzy图标/标签/消息。
像这样:
function doSomeThing() {
$.ajax({
type: "GET",
url: url,
async: true
});
}
使用数据库时,请确保设置正确的索引,通常可以提高速度。但是一定要设置正确的指数,多数也可能是错误。