队ConfigurationErrorsException-该进程无法访问该文件“C: eventlog.config”,因为它正被另一个进程使用
我有这段代码总是占用了本身的一种竞争状态尤其是当两个或更多资源正试图同时写入eventlog.config文件时。我搜索了几个频道,但无法解决这个错误。任何人都可以帮助我修改此代码,以便我可以删除竞争条件。
private void UpdateLastEventId(IList<EventLogEntry> entries)
{
if (entries.Count > 0)
{
EventLogEntry lastEntry = entries[entries.Count - 1];
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
var configSettings = config.AppSettings.Settings;
string key = string.Format(CultureInfo.InvariantCulture, "{0}|{1}", _eventLogFilter.EventLog, _eventLogFilter.MD5Hash);
if (configSettings[key] == null)
{
configSettings.Add(key, lastEntry.Index.ToString(CultureInfo.InvariantCulture));
}
else
{
configSettings[key].Value = lastEntry.Index.ToString(CultureInfo.InvariantCulture);
}
config.Save(ConfigurationSaveMode.Modified);//Error seems to happen here
}
}
有你的阅读[在此文档(https://msdn.microsoft.com/en-us/library/ms134088(V = vs.110)的.aspx) – MethodMan