Я недавно задал этот вопрос в другом потоке (которому милостиво ответил Рид Копси ), но я не чувствую, что я правильно сформулировал вопрос.Код блокировки процесса Необходимая иллюстрация
В основе моего вопроса я хотел бы показать, как получить доступ к данным КАК он получает/устанавливает.
У меня есть 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» получает и устанавливает идентификатор, файл, и Завершенный.
Теперь, мне нужно показать пользователю загрузить файл «прогресс» (в действительности, время между моментом, когда петля добавляет ServerVariable элемента в список, когда завершенные изменения состояния от 0 до 1.
Теперь у меня есть метод веб-службы «GetStatus()», который я хотел бы использовать для возврата списка файлов (созданных выше) в виде строки JSON (через JQuery). Файлы с завершенным статусом 0 все еще остаются Выполняется обработка файлов с 1. Выполнены
МОЙ ВОПРОС IS - что делает код внутри GetStatus() lo хорошо? Как выполнить запрос Список ** как * он заполняется и вернуть результаты в реальном времени? Мне сообщили, что мне нужно заблокировать рабочий процесс (задание данных ServerVariable), в то время как я запрашиваю значения, возвращаемые в GetStatus(), а затем разблокирует этот же процесс?
Если я хорошо объяснил, я бы оценил код логики в GetStatus().
Спасибо за чтение.