Изменить глобальный asp.net WebApiConfig перед запросом

У меня есть C# Web-API и в Application_Start() я настраиваю маршруты, форматеры и домены cors. Моя проблема в том, что в зависимости от источника запроса мне нужно добавить больше доменов в cors-домены. (например, если запрос приходит от 123.com, есть домены morors, а не asd.com). Я подумал о добавлении дополнительных доменов cors в Application_BeginRequest:

    void Application_BeginRequest(Object source, EventArgs e)
    {
        HttpApplication app = (HttpApplication)source;
        HttpContext context = app.Context;

        // Attempt to peform first request initialization
        FirstRequestInitialization.Initialize(context);

        var corsDomains = Settings.Default.CORS_Domains;
        if (originheader.equals("somevalue"))
        {
            corsDomains += ", " + Settings.Default.CORS_SomeValue_Domains;
        }

        var cors = new EnableCorsAttribute(corsDomains, "*", "*")
        {
            SupportsCredentials = true
        };
        HttpConfiguration config = //where to get config?
        config.EnableCors(cors); 
    }

Есть ли способ получить и изменить конфиг? Большое спасибо за Вашу помощь.

Изменить: Может быть, пример может уточнить, что мне нужно:

запрос приходит от asdf.org: cors-домены должны быть: base.com, home.org, jkl.net (но НЕ qwer.com)

запрос приходит с test.com: cors-домены должны быть: base.com, home.org, qwer.com (но НЕ jkl.net)

в Settings.Default у меня есть несколько списков:

CORS_BASE: base.com, home.org

CORS_ASDF: jkl.net

CORS_TEST: qwer.com

как добавить дополнительный список в домены cors в соответствии с источником запроса?

0 ответов

Другие вопросы по тегам