C# 提高ajax调用的速度和效率

C# 提高ajax调用的速度和效率,c#,javascript,ajax,geolocation,C#,Javascript,Ajax,Geolocation,我不是最有纪律的开发人员,不知道标准,而且自学成才,所以请容忍我。我创建东西很有逻辑,速度也很快,但并不总是使用“编程标准” 我有一个使用地理定位API的移动应用程序。它从我的数据库中获取数千个位置,并为用户当前位置周围的位置创建GMAPSv3标记 有一个从my JS到aspx页面的ajax调用,该页面调用数据库,生成json字符串,并将json字符串发送到javascript,javascript随后创建google地图标记 如果json字符串在平面文件中,我会节省时间吗?一般来说,我不确定从

我不是最有纪律的开发人员,不知道标准,而且自学成才,所以请容忍我。我创建东西很有逻辑,速度也很快,但并不总是使用“编程标准”

我有一个使用地理定位API的移动应用程序。它从我的数据库中获取数千个位置,并为用户当前位置周围的位置创建GMAPSv3标记

有一个从my JS到aspx页面的ajax调用,该页面调用数据库,生成json字符串,并将json字符串发送到javascript,javascript随后创建google地图标记

如果json字符串在平面文件中,我会节省时间吗?一般来说,我不确定从aspx页面访问sql db是否比使用预呈现JSON的平面文件上的c#file i/o更快

编辑:瓶颈在于JS,而不是服务器端代码

(当然,使用平面文件,每次更新数据库时,它都会更新)

函数ajaxReturn(responseText){
var JSONbizarray=(responseText.substring(responseText.indexOf(''),responseText.indexOf('').replace('');
var JSONBizList=JSON.parse(JSONbizarray);
var list=document.getElementById('businessListContent');
list.innerHTML=“”;
list.innerHTML+=“
    ”; for(var i=0;i”>使用json对象填充内容”; } list.innerHTML+=“
”; }
除了尝试和测量之外,没有其他方法可以回答性能问题


Stopwatch
()类将负责测量,File.ReadAllLines()将提供“从文件中读取。只需大约5行代码,您就可以针对数据库/磁盘/服务器/网络对答案进行个性化设置。

在本地缓存数据始终是一个不错的主意。我当然会寻找机会。但是,在场景中需要本地存储的数据量可能会出现问题


另一个需要考虑的是服务器端的效率问题。确保对服务器的调用是GET,并且可以缓存在那里。

如果您的意思是,您需要一些进程来维护一个JSON的“平面文件”,该文件在每次数据库更改时都会更新,然后ajax调用只会从该文件返回数据,我认为这可以加快速度,但我不确定这种差异是否值得。您可以尝试并测量它,但是您当前的实现是否明显缓慢,或者…?谢谢@nnnnnn,是的,这正是我的意思,它很慢(8秒),尽管mapview似乎比listview快,这让我非常困惑,因为它更复杂(mapview像5秒,listview大约8秒)我希望没有互联网连接障碍的加载时间更像3-4秒。这些时间用于1000个json对象,每个对象有7个属性。听起来像是额外的一层复杂性,你不一定需要,而且可能会引入更多潜在的失败点。数据库访问不应该太慢,除非您使用的是像EF或其他API这样的“臃肿”的框架?在我看来,对于服务层,您不应该使用ASPX页面。考虑WCF服务或原始HTTP接口,这应该更快。如果您将原始SqlDataReader+原始http请求,甚至restful WCF组合在一起,它应该会非常快。您认为什么样的EF或其他API会降低这种速度?我相信我通过.NET实体框架使用了一个标准的DB连接字符串(它是MySQL而不是MSSQL,但我有一个vs2010的插件,可以让我从MySQL构建实体对象,是吗??),我不知道这是否可以称为API?调用是GET,我如何在服务器端缓存它?
function ajaxReturn(responseText) {
    var JSONbizarray = (responseText.substring(responseText.indexOf('<span id="Label1">'), responseText.indexOf('</span>')).replace('<span id="Label1">', ''));
    var JSONBizList = JSON.parse(JSONbizarray);

    var list = document.getElementById('businessListContent');
    list.innerHTML = "";
    list.innerHTML += "<ul id=\"barListUL\" data-role=\"listview\" data-theme=\"d\" data-dividertheme=\"d\">";

    for (var i = 0; i < JSONBizList.length; i++) {
        var biz = JSONBizList[i];
        list.innerHTML += "<li tabindex=\"0\" data-theme=\"d\" class=\"ui-btn ui-btn-icon-right ui-li ui-btn-hover-d\" role=\"option\">stuff using json object</li>";
    }

    list.innerHTML += "</ul>";
}