0
我有一個需求,在該需求中我必須開發一個頁面,該頁面在通過JavaScript調用的服務器上運行服務。現在我還需要顯示正在完成的工作的更新(例如完成%)。ASP.NET異步Web服務調用問題
這是我的代碼結構。
[WebMethod (true)]
//Below method takes around 5-10 minutes in execution
public string[] GenerateXMLSiteMap()
{
SiteMapGenerator siteMapGen = new SiteMapGenerator();
siteMapGen.SiteMapNodeAddedSuccessfully += new SiteMapNodeAdded(siteMapGen_SiteMapNodeAddedSuccessfully);
siteMapGen.GenerateSiteMap();
return GetStats();
}
void siteMapGen_SiteMapNodeAddedSuccessfully(string[] infos)
{
Session["CurrentPage"] = infos[0];
Session["PageScanned"] = infos[1];
Session["Time"] = infos[2];
}
[WebMethod (true)]
public string[] GetStats()
{
string[] stats = new string[4];
if (Session["CurrentPage"] != null)
{
stats[0] = Session["LinkDepth"].ToString();
stats[1] = Session["CurrentPage"].ToString();
stats[2] = Session["Time"].ToString();
}
return stats;
}
我從客戶端調用GetStats()方法,但它永遠不會被調用。我想它是因爲我正在調用仍在執行的GenerateXMLSiteMap()。誰能告訴我如何以這種方式獲得靜力。