Я предполагаю, что по вашему вопросу одновременная безопасность вас интересует, создается ли каталог между Directory.Exists и Directory.CreateDirectory вдругая тема.(Если вы обеспокоены тем, что Directory.CreateDirectory выдает исключение, если каталог уже существует, этого не произойдет.) Если это так, то это именно тот момент в вашем коде, который потенциально может это сделатьзатем вы можете просто использовать объект блокировки, чтобы сделать этот набор операций безопасным в нескольких потоках:
private static object lockObject = new object();
public ActionResult GenerateTasks()
{
string someDir = ....
lock(lockObject)
{
if (!Directory.Exists(someDir))
{
Directory.CreateDirectory(someDir);
}
}
...
}
Это, однако, не дает никаких гарантий, что каталог не взаимодействует вне вашего контроля,скажем, в другом процессе подачи заявки.