Я хочу поместить этот метод в класс рабочего класса, я пытаюсь, но застрял, Может ли кто-нибудь помочь мне, как запустить этот метод в классе рабочего класса:
Я вызываю этот метод в asp .net, где файл зацикливается на сервере, а затем возвращается к клиенту. но архивирование файла может занять больше времени, и пользователь будет видеть экран занят, поэтому, чтобы избежать, что я хочу использовать класс фона рабочего: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;
}
что вы пробовали? как далеко у вас есть? [MSDN имеет пример] (http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx) использования «BackgroundWorker» - это должен быть просто случай, когда ваш код вместо у них. Кроме того, обратите внимание, что фоновый работник * чаще используется *, чтобы избежать блокировки пользовательского интерфейса - конечно, вы можете * использовать * его с консоли, но это менее распространено. Во многих отношениях я могу просто использовать «ThreadPool» здесь ... –
Ваш метод не имеет большого смысла. Во-первых, 'zip' никогда не используется. И вы возвращаете «Файл», которого нет нигде. –
@ marc Gravell: Я смущен тем, как передавать аргументы методам, а также этот метод возвращает значение, поэтому я запутался в нем, – safi