2012-03-01 3 views
0

私はe-Commerceサイトの製品ダウンロードの完全/成功と失敗を追跡したいと思います。私はthrouh jquery ajax.iと呼ばれるasp.netハンドラを使用してコードを書きました。ダウンロードダイアログボックスがポップアップしていないと私はまだ成功と失敗statistics.iを返すjsonデータ(成功のための真/失敗のfalse)asp.netハンドラからの私のdatabseを更新する必要があります。私を助けてください。これはあなたが、ダウンロードの試行回数を制限することができますされている場合は、私が言及リンクが製品ダウンロードの成功と失敗の追跡

http://www.codeguru.com/csharp/csharp/cs_data/article.php/c17133/Tip-File-Download-in-ASPNET-and-Tracking-the-Status-of-Success-or-Failure-of-Download.htm

+0

である - それはダウンロードしたファイルをコピーするために些細だとして見を、私はその中にポイントが表示されていません。サーバーが(「ディスクいっぱい」や書き込みエラーのように)キャッチできない多くのエラーがクライアント側で発生する可能性があります。私はちょうど(24時間のような)特定の時間のためにダウンロードを有効にし、どんな成功チェックもしないでしょう。 –

答えて

0
//Assuming Download() is a thread 

Private void DownLoad() 
{ 
    try 
    { 
     for(int i=0;i<=n;i++) 
     { 
      //Your code 
      Session["CurrentStatus"] = "SUCCESS"; //you can set download percentage here 
     } 
     Session["CurrentStatus"] = "COMPLETE"; 
    }catch() 
    { 
     Session["CurrentStatus"] = "FAIL"; 
    } 
} 


From Your UI you will fire an asynchronous event using PageMethod i.e 

function GetCurrentThreadStatus() 
{ 
     //You can use JQuery Ajax here 
     //PageMethod is just an alternative 
     PageMethods.GetThreadStatus(function(status){ 
      // success 
      if(status=="COMPLETE") 
      { 
       //Update DB :: success 
      } 
      if(status=="FAIL") 
      { 
       //Update DB :: fail 
      } 
     }); 
} 
Code Behind : C# 

[WebMethod] 
public static string GetThreadStatus() 
{ 
    return (string)Session["CurrentStatus"]; 
} 
関連する問題