Я создал собственный фильтр, который должен срабатывать при каждом действии (запросе). Итак, проблема в том, что вы запускаете действие в первый раз, когда пользователь обновляет его, оно никогда не запускается снова. Это как кеширование или что-то в этом роде. Я запускаю фильтр в первый раз, чтобы код работал (-ish), но меня убивает второстепенная загрузка страницы. вот в основном код.
using MonoRailHelper;
namespace evergreen.Controllers
{
public class loggedinFilterAttribute : FilterAttribute
{
public loggedinFilterAttribute() : base ( ExecuteEnum.BeforeAction, typeof(AuthenticationFilter))
{
String username = Authentication.authenticate();
// save user in database
authUser[] authUser_list = ActiveRecordBase<authUser>.FindAll();
authUser temp = null;
foreach (authUser authUser in authUser_list)
{
if (!string.IsNullOrEmpty(authUser.Nid) && authUser.Nid.ToUpper() == username.ToUpper())
{ temp = authUser; }
}
temp.Logedin = true;
temp.LastActive = DateTime.Now;
temp.Save();
}
}
[loggedinFilter]
[Layout("default"), Rescue("generalerror")]
public abstract class BaseController : MonoRailHelper.HelperBaseController
{
function a bunch
}
}
}
loggedinFilter - это то, что нужно запустить, и temp.LastActive = DateTime.Now; действительно перемещается вверх по БД, когда вы переходите на «новые» страницы здесь, но это когда вы возвращаетесь… никаких изменений не происходит.
У кого-нибудь есть идеи, как это исправить?
Спасибо за помощь .. Ура-Джереми