2011-08-06 7 views
0

JavaScript를 통해 호출하는 서버에서 서비스를 실행하는 페이지를 개발해야한다는 요구 사항이 있습니다. 이제 작업 완료에 대한 업데이트를 표시해야합니다 (예 : Completed %).ASP.NET 비동기 웹 서비스 호출 문제

내 코드의 구조는 다음과 같습니다.

[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()을 호출하고 있기 때문에 그 것으로 생각했다. 이 방법으로 통계학을 구하는 방법을 누군가에게 알려줄 수 있습니까?

답변

관련 문제