通常,在普通aspx
文件中,我可以System.Attribute
在页面开头使用,例如:
[AuthorizePage()]
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
public class AuthorizePage : System.Attribute
{
public AuthorizePage()
{
//do some stuff to authorize
}
}
并且在页面初始化之前,属性的构造函数运行并做一些事情以确保一个人当前已登录,否则属性构造函数会将用户重定向到登录页面。
我想在HttpHandler
(文件)上做同样的事情,但是在 ashx 页面上ashx
该属性永远不会初始化。
[AuthorizePage()]
public class AjaxHandler : MuCustomClassBase, IHttpHandler, IReadOnlySessionState
{
//The interface implementations and some other custom private methods
}
我对此ashx
页面进行了 AJAX 调用。这可能是属性不运行的原因吗?还是我必须知道的其他事情?
最终,我会非常高兴知道如何在 ashx 文件上运行自定义 System.Attribute?