모든 작업 (요청)에 대해 실행되는 사용자 지정 필터를 만들었습니다. 그래서 문제는 사용자가 새로 고침 할 때 액션이 처음 실행될 때 다시 실행되지 않는다는 것입니다. 캐시 된 것 같아요. 처음에는 필터를 작동 시켜서 코드가 작동합니다 (-ish). 그러나 그것은 나를 죽이는 페이지의 두 번째로드입니다. 여기에 기본적으로 코드가 있습니다..net2.0의 사용자 정의 필터 BeforeAction 사용 모노레일 setop이 항상 실행되지 않음
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; 당신이 여기에 "새로운"페이지로 이동하지만 당신이 돌아갈 때 변화가 생기지 않습니다.
누구나 수정 방법에 대한 아이디어가 있습니까? 도움을
감사합니다 .. 건배 -Jeremy
감사합니다. 이전에 본 첫 번째 링크가 있지만 잘 알려지지 않았습니다. 가난한 의사 imho하지만 .. https://github.com/andypike/Castlecasts/blob/master/Website/src/AndyPike.Castlecasts.Website/Filters/AuthenticationFilter.cs 방법에 나를 안내하는 완벽했다. 도와 주셔서 감사합니다.. –