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