私は、バックグラウンドワーカークラスにこのメソッドを置きたい、私がしようとしたが立ち往生、 ていますいずれかのバックグラウンドワーカークラスにこのメソッドを実行する方法を私を助けることができます。
私は私のASPには、このメソッドを呼び出しています.netページ。ファイルはサーバー上で圧縮され、クライアントにreturendされます。しかし、ファイルを圧縮すると、私は、バックグラウンドワーカークラスを使用することを避けるために、時間がかかることがあり、ユーザーが忙しいの画面が表示されます。C#の背景ワーカークラス
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]
public string Zip(string f, bool original)
{
string zip = "";
try
{
files = HttpContext.Current.Server.UrlDecode(files);
string[] fileCollection = files.Split('*');
zipFile = class1.zipfile(fileCollection, IsOriginal);
int fileLength = files.Length;
}
catch (Exception ex)
{
Console.WriteLine("Exception during processing {0}", ex);
}
return File;
}
はあなたが何をしようとしている);
は、なぜ私は見当がつかないのWebアプリケーションでそれを必要とするが、これは、少なくともそれを行う方法ですか?あなたはどれくらいの距離を持っていますか? 'BackgroundWorker'を使用している[MSDNには例があります](http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx) - これは単純に、あなたのコードをそれらの。また、バックグラウンドワーカーはUIをブロックするのを避けるために*より一般的に使用されます*確かに、コンソールから*使用することはできますが、これはあまり一般的ではありません。多くの意味で、私はここで 'ThreadPool'を使うかもしれません... –
あなたのメソッドはあまり意味がありません。まず、 'zip'は決して使用されません。そして、あなたはどこにも存在しない 'File'を返しています。 –
@ marc Gravell:メソッドに引数を渡す方法が混乱していて、このメソッドも値を返すので、私はそれを混同しています。 – safi