У меня есть атрибут следующие EnableCors на классе контроллера WebAPI:Как получить доступ к значениям web.config из атрибута класса?
[EnableCors(origins:"http://localhost:57280", headers: "*", methods: "*")]
public class PhysicalActivityController : ApiController
Но я не хочу, чтобы URL жестко закодирован. Я хочу получить его из web.config.
Что-то вроде этого:
[EnableCors(origins: System.Web.Configuration.WebConfigurationManager.AppSettings["ModellingApiUrl"], headers: "*", methods: "*")]
public class PhysicalActivityController2 : ApiController
Проблема заключается в том, что я не могу получить доступ к методам, как, что внутри атрибута. Контекст кода не совпадает с контекстом обычного метода. Когда я пишу код, как во втором примере, Visual Studio выделяет «AppSettings» красным цветом и дает ошибку «Не удается разрешить символ« AppSettings ».
Любые идеи о том, как я могу это достичь? Я попробовал написать пользовательский атрибут, который наследуется от EnableCors, но, к сожалению, System.Web.Http.Cors.EnableCorsAttribute является закрытым классом, поэтому я не могу наследовать его.
К сожалению, нет, это не работает, либо , Проблема в том, что вы находитесь в середине атрибута, когда вы пишете этот код - вы не в обычном контексте кода. Поэтому кажется, что вы не можете вызывать методы на системных объектах так, как обычно. Если вы попытаетесь это сделать, вы поймете, что я имею в виду. – ClareSudbery
Чтобы уточнить: когда я пишу код, как во втором примере выше, Visual Studio выделяет «AppSettings» красным цветом и дает ошибку «Не удается разрешить символ« AppSettings ». – ClareSudbery