您好,
我想使用asp.net回调机制实现进度条,请问要如何实现呢, 我后台执行的是一个批量生成缩略图的操作,是一个循环,比较耗时。不知道代码怎么设计。我目前主要代码是这样的
public void RaiseCallbackEvent(string EventArgs)
{
AspEventArgs = EventArgs;
DataContext ft = new DataContext();
var result = from p in ft.Product select p;
float count = 0;
float _total = result.ToList().Count;
string str = "";
foreach (Model.Product p in result)
{
if (p.ProductBigImages.Contains("/"))//判断是否包含目录
{
string _catalog = p.ProductBigImages.Substring(0, p.ProductBigImages.LastIndexOf('/') + 1);
if (System.IO.Directory.Exists(Server.MapPath("~/bmzcache/" + _catalog)) == false)//如果不存在就创建文件夹
{
System.IO.Directory.CreateDirectory(Server.MapPath("~/bmzcache/" + _catalog));
}
}
if (File.Exists(Server.MapPath("~/BigImages/" + p.ProductBigImages)))
{
//System.Threading.Thread.Sleep(0);
MySecurity.Fileupload.MakeThumbnail(Server.MapPath("~/BigImages/" + p.ProductBigImages), Server.MapPath("~/bmzcache/" + p.ProductBigImages), 160, 160, "W", "jpg");
}
count++;
return ((count / _total) * 100).ToString(); //这里要怎么赋值或者返回?
}
}
public string GetCallbackResult()
{
int i = Convert.ToInt32(AspEventArgs);
i++;
// Response.Write("aaa");
return i.ToString();
}
前台的设计就是用一个js定时器每隔一秒执行回调 <%= ClientScript.GetCallbackEventReference(this, "arg", "GetMsgBack",null) %>; 请问我的后台代码要如何改造呢? 希望老师能帮我具体的写下代码,非常非常感谢!!!