Asp.net-Mvc-4
屬性參數必須是屬性參數類型的常量表達式、typeof 表達式或數組創建表達式
我想將組名稱分配為授權過濾器的屬性。
它將採取如下方式
[FilterConfig.AuthorizeAd(Group = "DirectoryName")] public ActionResult GetData() { }我嘗試了硬編碼,如下添加
[FilterConfig.AuthorizeAd(Group = Constants.ActiveDirectoryName)]其中 Constants 是類和創建的成員,如下所示:
public const string ActiveDirectoryName = "directoryName";現在我想從 app.config 中獲取它,嘗試如下
[FilterConfig.AuthorizeAd(Group = ConfigurationManager.AppSettings["Directory_Name"].ToString()它通過錯誤消息作為“屬性參數必須是常量表達式”
如何從配置中分配數據?請給我建議。
您不能使用屬性來做到這一點,它們必須是錯誤消息中所述的常量。如果你想從配置文件中獲取一個值,你可以通過將鍵傳遞給屬性,然後在建構子中從配置管理器中獲取你想要的值
public MyAttribute :Attribute { private string _config; public MyAttribute(string configKey) { _config = ConfigurationManager.AppSettings[configKey]; ... } }高溫高壓