c# - web.config 键值对可以用作 asp.net c# 中的编译时间常量吗?

标签 c# asp.net-mvc web-config

我正在尝试在下面执行此操作,是否有办法执行此操作,或者 web.configs 是否仅在运行时可用,因为我收到一条红线错误,指出必须是编译时间常数?

应用设置:

  <add key="MyString" value="TheValueOfTheString"/>

代码:

   public const string MyString = ConfigurationManager.AppSettings["MyString"];

最佳答案

问题是常量的使用。 const 表示该值在设计时是硬编码的。

const string MyString = "the text...";

appsettings 值直到运行时才为人所知,因此它不是一个常量值。相反,您可以使用静态只读值

static readonly MyString = ConfigurationManager.AppSettings["MyString"];

不同之处在于在编译时如何解释值。当使用常量时,引用的是实际值,而不是变量 MyStringstatic readonly 值被编译为变量。

关于c# - web.config 键值对可以用作 asp.net c# 中的编译时间常量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13608354/

相关文章:

c# - 如何为转发器内的超链接设置 .HRef

c# - WindowsIdentity.GetCurrent().Name 获取应用程序池名称而不是用户名

c# - 修复网络浏览器内容的不同文本量

c# - 如何在不使用字符串的情况下创建/读取具有特定小数位的数字?

asp.net-mvc - Accord.NET 比较两个图像以确定相似性

asp.net - 使用 Visual Studio web.config 转换进行调试

c# - 以编程方式在 web.config 中注册的代码隐藏中加载用户控件

asp.net - web.config 中 ApiURIs-ISAPI-Integrated-4.0 的多个路径

asp.net-mvc - ASP.NET MVC View 模型命名约定

asp.net - 我是否必须在每个页面上添加 "<%@ Register assembly="?