首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

顶着有分!关于异步的有关问题-几个带参数的方法要求用异步来提交速度

2012-01-10 
顶着有分!!关于异步的问题-------几个带参数的方法要求用异步来提交速度菜鸟一只,看了异步,越来越糊涂,特

顶着有分!!关于异步的问题-------几个带参数的方法要求用异步来提交速度
菜鸟一只,看了异步,越来越糊涂,特来请问下,

提高读取数据,插入数据的速度,能用异步吗??


我有几个方法
如:   SelectDomainAndAlexaInfo(url);
        GetWhoisInfo(url);                    

这两个方法能同时运行吗?-------异步能实现吗?

下面这两个插入数据的方法也要求同时插入到数据库中
InsertToAlexa(GetGIDFromUrl(url),   *,*,*,*,*,*,   address,fxlink);
  InsertToWHOIS(GetGIDFromUrl(url),   GetWhoisXml(url));


if   (GetCountFrom(url)   ==   1)//查找domain,alexa,whois是否存在数据,存在,则从数据库中取
                {
                        SelectDomainAndAlexaInfo(url);
                        GetWhoisInfo(url);                    
                }
                else                 {
                        GetAlexaInfo(url);
                        GetWhoisInfo(url);
                        if   (SelectDomain(url)   ==   1)   //url在domain存在,
                        {
                                if   (SelectCountAlexaWhois(url)   ==   0)//而不存在alexa,whois中,则插入数据
                                {
                                        InsertToAlexa(GetGIDFromUrl(url),   *,*,*,*,*,*,   address,fxlink);
                                        InsertToWHOIS(GetGIDFromUrl(url),   GetWhoisXml(url));
                                }
                        }
}

如果哪位大侠有demo则更好

先在此多谢了

[解决办法]
up
[解决办法]
只能帮你顶了, 对这个不熟悉 zl
[解决办法]
up
[解决办法]
友情UP
[解决办法]
up
[解决办法]
速度慢了```
[解决办法]
up

[解决办法]
如果要确保两条语句都要执行,建议使用事务处理.....
[解决办法]
异步操做同一对象会出问题的啊,就LOCK问题啦
------解决方案--------------------


异步执行的方法一般都是成对出现的.
例如,如果你需要异步执行
void SelectDomainAndAlexaInfo(url)
这个方法.
1 申明委托
private delegate void SelectDomainAndAlexaInfoHandler(string url);

2 定义方法
private IAsyncResult BeginSelectDomainAndAlexaInfo(string url)
{
SelectDomainAndAlexaInfoHandler handler= new SelectDomainAndAlexaInfoHandler(SelectDomainAndAlexaInfo);
//开始异步执行,执行完成后回凋EndSelectDomainAndAlexaInfo.
handler.BeginInvoke(url, new AsyncCallback(EndSelectDomainAndAlexaInfo), handler);
}
private void EndSelectDomainAndAlexaInfo(IAsyncResult result)
{
//取出委托
SelectDomainAndAlexaInfoHandler handler=(SelectDomainAndAlexaInfoHandler)result.AsyncState;
//完成异步,如果对应同步方法有返回值则在此获得返回结果
handler.EndInvoke(result);
}

调用时可以这么写
BeginSelectDomainAndAlexaInfo(url);//这句代码执行非常快,它实际是开启了一个新线程去完成SelectDomainAndAlexaInfo,此时主线程可以继续执行去做其他事情.

对于GetWhoisInfo(url)这个方法也可以同理类推.

[解决办法]
委托运用恰当可以很大同幅度的提升数据访问速度

[解决办法]
请LZ先明白异步的主要用途,再研究不迟
[解决办法]
d
[解决办法]
帮顶

[解决办法]
我来!!!

[解决办法]
几天了```还没人帮解决?

热点排行