我想将组名称指定为授权过滤器的属性.
它将采取如下
Run Code Online (Sandbox Code Playgroud)[FilterConfig.AuthorizeAd(Group = "DirectoryName")] public ActionResult GetData() { }
坚持硬编码我尝试添加如下
Run Code Online (Sandbox Code Playgroud)[FilterConfig.AuthorizeAd(Group = Constants.ActiveDirectoryName)]
其中Constants是class并创建成员如下:
Run Code Online (Sandbox Code Playgroud)public const string ActiveDirectoryName = "directoryName";
现在我想从app.config中获取它,尝试如下
Run Code Online (Sandbox Code Playgroud)[FilterConfig.AuthorizeAd(Group = ConfigurationManager.AppSettings["Directory_Name"].ToString()
它将错误消息传递给"一个属性参数必须是一个常量表达式"
如何从配置中分配数据?请建议我.
Sli*_*sim 18
您不能使用属性执行此操作,它们必须是错误消息中所述的常量.如果要从配置文件中获取值,可以通过将键传递给属性来完成,然后在构造函数中从配置管理器获取所需的值
public MyAttribute :Attribute
{
private string _config;
public MyAttribute(string configKey)
{
_config = ConfigurationManager.AppSettings[configKey];
...
}
}
Run Code Online (Sandbox Code Playgroud)
HTH
归档时间: |
|
查看次数: |
10204 次 |
最近记录: |