由於很多屬性都是由設計的,所以避免了未密封的屬性我正在尋找一個解決方案來設置屬性值(我的第一個想法是繼承該類並設置一個構造函數來檢查web -config - 不與密封類可能):動態設置ApiExplorerSettingsAttributes的值
還有的ApiExplorerSettingsAttribute
命名空間System.Web.Http.Description
我想下面的API-行動得到隱藏的情況下,在網絡配置的值是假的:
<Api.Properties.Settings>
<setting name="Hoster">
<value>False</value>
</setting>
</Api.Properties.Settings>
的動作應該是這樣的:
[HttpGet, Route("api/bdlg")]
[SwaggerResponse(HttpStatusCode.OK, Type = typeof(BdlgDataStorage))]
[ApiExplorerSettings(IgnoreApi = Properties.Settings.Default.Hoster)]
private async Task<BdlgDataStorage> GetBdlgStorageValues()
{
using (var context = new BdlgContext())
return context.BdlgDataStorages
.Include(s=>s.ChangeTrack)
.Where(w=>w.Isle > 56)
.Select(selectorFunction)
.ToListAsync();
}
的重要行是:
[ApiExplorerSettings(IgnoreApi = Properties.Settings.Default.Hoster)]
在這裏,我得到一個編譯錯誤:
An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type
任何人有任何想法,我可以如何設置IgnoreApi的值與來自web-config的值相同?
其實,這就是我正在尋找。我只需要檢查它是否也適用於搖擺樂。 –