C# 如何在运行时将所有cookie设置为安全的,而不是使用web.config?

C# 如何在运行时将所有cookie设置为安全的,而不是使用web.config?,c#,asp.net,ssl,web-config,C#,Asp.net,Ssl,Web Config,我知道我可以在web.config中设置它,但我想根据环境有条件地设置它,并将其添加到我们的核心库中。我已经尝试了下面的代码,但它不工作 HttpCookiesSection cookieSection = (HttpCookiesSection)ConfigurationManager.GetSection("system.web/httpCookies"); cookieSection.HttpOnlyCookies = true; cooki

我知道我可以在web.config中设置它,但我想根据环境有条件地设置它,并将其添加到我们的核心库中。我已经尝试了下面的代码,但它不工作

        HttpCookiesSection cookieSection = (HttpCookiesSection)ConfigurationManager.GetSection("system.web/httpCookies");
        cookieSection.HttpOnlyCookies = true;
        cookieSection.RequireSSL = true;
错误是:

System.Configuration.ConfigurationErrorsException
The configuration is read only.
这种方法适用于应用程序设置。注意:我不想保存web.config,只需更改内存中的设置

从中可以看出,此属性已设置

从文档中:

// Set the RequireSSL.
httpCookiesSection.RequireSSL = false;

你在哪里用这个?我认为它在某种程度上是只读的:奇怪的是,当应用程序(已经)运行时,它如何“改变环境”?同一个实例可以服务于多个域,因此您可能希望根据请求中的活动主机动态重写此值。我们有这个不寻常的要求,看起来不可能做到。嗨,迈克·纳尔逊。你找到解决办法了吗?@dima_horror-没有,对不起,没有找到解决办法。顺便说一句,我们的用例是希望它在我们的核心库中跨多个项目自动执行此设置,而不需要查看web.config,而且我们希望在dev和prod之间同步web.config文件(不使用单独的env副本)。