Проблема с параллелизмом при записи в файл CSV - PullRequest
0 голосов
/ 04 июля 2011

У меня есть веб-форма в форме .aspx, которая берет данные пользователя, а затем записывает данные в файл CSV на C #, расположенный на сервере. У меня вопрос, как я могу контролировать несколько записей в файл CSV, чтобы данные не перепутались? Я должен обязательно использовать файл CSV на сервере, в базе данных или другими способами, чтобы записать его, для меня это не вариант.

Оглядываясь вокруг, я видел, что использование мьютекса может быть полезным. Мне было интересно, какие еще варианты у меня есть, так как я ищу наиболее эффективное и простое решение? Заранее извиняюсь, поскольку я новичок в ASP.NET и C #.

1 Ответ

2 голосов
/ 04 июля 2011

Использование мьютекса / блокировки - самый простой способ; при условии, что ваш сайт является единственным автором файла CSV. Поскольку код не отображается, я предполагаю, что у вас есть класс CsvWriter:

public class CsvWriter
{
    const string path = "myfile.csv";

    static object synch = new Object();

    public void AppendCsv(string newData)
    {
        lock (synch)
        {
            File.AppendAllText(path, newData);
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...