Ошибка записи в один файл в веб-сервисе в .NET - PullRequest
6 голосов
/ 23 сентября 2008

Я создал веб-сервис в .net 2.0, C #. Мне нужно записывать некоторую информацию в файл всякий раз, когда клиенты веб-службы вызывают разные методы.

Проблема возникает, когда один пользовательский процесс пишет в файл, а другой процесс пытается записать в него. Я получаю следующую ошибку:

Процесс не может получить доступ к файлу, поскольку он используется другим процессом.

Решения, которые я попытался реализовать в C # и потерпели неудачу, перечислены ниже.

  1. Реализован одноэлементный класс, содержащий код для записи в файл.
  2. Использовал оператор блокировки для переноса кода, записывающего в файл.
  3. Я также пытался использовать log4net с открытым исходным кодом, но это также не идеальное решение.
  4. Я знаю о входе в системный журнал событий, но у меня нет такого выбора.

Я хочу знать, существует ли идеальное и полное решение такой проблемы?

Ответы [ 11 ]

0 голосов
/ 23 сентября 2008

Может быть, напишите «строку очереди» для записи в файл, поэтому при попытке записи в файл он продолжает проверять, заблокирован ли файл, если он есть, - он продолжает ждать, если он не ' заблокирован - затем напишите ему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...