У меня есть приложение ASP.NET MVC, для которого я хочу регистрировать события. У меня уже есть класс журнала со всеми необходимыми инструментами, но мне нужно создать экземпляр и закрыть его явно (потому что он открывает файлы, поэтому я не могу зависеть от GC). Мои действия будут выглядеть следующим образом:Выполнение кода до/после каждого действия контроллера
public ActionResult MainMenu()
{
CreateLog();
// Do controller stuff
Log(message);
// Do more controller stuff
CloseLog();
return View(mModel);
}
Или я мог бы использовать using
блок, но это будет лишь немного менее навязчивым И это создало бы проблемы с обработкой исключений. Я читал о ActionFilters
, который мог бы использовать для создания и закрытия моего журнала, но тогда у меня не было бы доступа к объекту журнала внутри метода.
Есть ли у вас какие-либо предложения? Как я мог избежать повторения кода?
Возможный дубликат [Выполнить метод в каждом запросе в MVC, C#?] (Https://stackoverflow.com/questions/9511462/run-a-method-in-each-request-in-mvc -c) – Liam