我有一个 Windows 服务,并且我将一个 userId 传递给每个针对数据库验证的服务调用。现在我必须在内部的每个方法中调用该验证方法。我试图制作 ac# 属性,我可以为每个方法添加前缀并让它为我进行验证,但我不确定如何从属性中读取方法 userId 参数。
这就是我所拥有的:
public int GetANumber(Guid userId){
ValidateUserId(userId);
return 1;
}
这就是我要的:
[ValidateUserId]
public int GetANumber(Guid userId){
return 1;
}
到目前为止,这是我的属性:
[AttributeUsage(AttributeTargets.Method)]
public sealed class ValidateUserId : Attribute
{
public ValidateUserId()
{
//need to get userId from method here and check against db
}
}
有任何想法吗?