J'ai une application multi-thread qui écrit dans un fichier xml de paramètres en utilisant une méthode statique. Je veux éviter que le fichier soit mis à jour deux fois en même temps (provoquant des accès/exception d'écriture).Lock() dans une méthode statique
Comment puis-je faire cela?
Cela ne fonctionne pas:
namespace Program
{
public class Settings
{
private static void SetSettingsValue (string settings, string value)
{
// make this thread safe to avoid writing to a locked settings xml file
lock (typeof(Settings))
{
//write data to xml file
}
}
}
}
Est-ce que vous disposez de votre fichier XML correctement (c'est-à-dire via 'using')? Pouvez-vous partager plus de code? En outre, pour les méthodes statiques, vous devez verrouiller les objets statiques privés, pas sur un type. Voir http://msdn.microsoft.com/en-us/library/c5kehkcz.aspx –