У меня есть приложение, написанное на C#, MVC, с использованием Entity Framework и CodeFirst. У меня возникла проблема с выходом пользователей из системы после изменения базы данных вручную. Хотя это не большая проблема, потому что такая вещь не будет происходить много, когда услуга будет завершена, проблема более раздражает, когда администратор вносит изменения в файл .resx, содержащий переводы. Мы создали панель администратора, в которой можно добавить языки, изменить текст по умолчанию, отображаемый на сайте, и так далее. Каждый раз, когда я меняю текст (так что строка в файле .resx), я выхожу из системы. Я не знаю, где проблема и как ее отслеживать. Незнайка, если это поможет, но вот код для редактирования существующих текстов в .resx файла:Пользователь MVC выходит из системы после изменения базы данных вручную или изменяет файл resx программно
using (ResXResourceReader resxReader = new ResXResourceReader(resxFilePath))
{
resx = resxReader.Cast<DictionaryEntry>().ToList();
var existingResource = resx.SingleOrDefault(entry => entry.Key.ToString().Equals(model.EntryName));
var modifiedResx = new DictionaryEntry()
{
Key = existingResource.Key,
Value = model.NewEntryValue
};
resx.Remove(existingResource);
resx.Add(modifiedResx);
}
using (ResXResourceWriter resxWriter = new ResXResourceWriter(resxFilePath))
{
resx.ForEach(r =>
{
resxWriter.AddResource(r.Key.ToString(), r.Value.ToString());
});
resxWriter.Generate();
}
}
Но я не понимаю, как я кладу на разных языках там? Каждый текст должен иметь то же точное имя, чтобы его можно было отображать на страницах, используя его. Пытаясь понять ваш подход, текст «Hello World» должен храниться в n строках, где n - количество langauges, не так ли? – Aranha