我最近在另一个帖子中开始了这个问题(Reed Copsey 慷慨地回答)但我觉得我没有把问题搞好。
在我的问题的核心,我想说明如何获得 在获取/设置数据时访问数据。
我有Page.aspx.cs,在代码隐藏中,我有一个循环:
List<ServerVariable> files = new List<ServerVariable>();
for (i = 0; i <= Request.Files.Count - 1; i++)
{
m_objFile = Request.Files[i];
m_strFileName = m_objFile.FileName;
m_strFileName = Path.GetFileName(m_strFileName);
files.Add(new ServerVariable(i.ToString(),
this.m_strFileName, "0"));
}
//CODE TO COPY A FILE FOR UPLOAD TO THE
//WEB SERVER
//WHEN THE UPLOAD IS DONE, SET THE ITEM TO
//COMPLETED
int index = files.FindIndex(p => p.Completed == "0");
files[index] = new ServerVariable(i.ToString(),
this.m_strFileName, "1");
“ServerVariable”类型获取并设置ID,文件和已完成。
现在,我需要向用户显示文件上传“进度”(实际上, 循环将ServerVariable项添加到之间的时间 list to Completed状态从0变为1。
现在,我想要一个Web服务方法“GetStatus()” 用于将文件列表(上面创建的)作为JSON字符串返回(通过 JQuery的)。状态为0的文件仍在进行中, 带有1的文件已完成。
我的问题是 - GetStatus()中的代码是什么样的?怎么样 我查询列表**为*正在填充和 实时返回结果?我被告知我需要锁定 我查询时的工作过程(设置ServerVariable数据) GetStatus()中返回的值然后解锁相同的进程?
如果我已经解释得很好,我会很感激代码插图 GetStatus()中的逻辑。
感谢阅读。