我需要从 web.Config appSettings 访问值
Posted
技术标签:
【中文标题】我需要从 web.Config appSettings 访问值【英文标题】:I need to access value from web.Config appSettings 【发布时间】:2021-03-01 16:19:35 【问题描述】:我需要从我的 cshtml 文件中访问 web.config appSettings 中的值
这是我在 cshtml 文件中的代码:
<body>
<div>
@RenderBody()
<footer>
<p @System.Configuration.ConfigurationManager.AppSettings["myKey"]</p>
</footer>
</div>
...
</body>
这是我来自 web.config 的代码
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="myKey" value="MyValue"/>
</appSettings>
</configuration>
提前致谢
【问题讨论】:
那么这段代码有什么问题。我在这里看到的唯一错误是您没有正确关闭起始标记。
我实际上可以从 app.config 访问值,但不能从 web.config 访问。你知道什么可能导致从 web.config 访问它的问题吗? 您使用的是 .NET 核心吗? 没错,我用的是.Net core 在 .NET 核心中,您无法从 web.config 中读取。供参考:***.com/questions/40186445/…***.com/questions/46996480/…docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/… 【参考方案1】:首先,System.Configuration.ConfigurationManager用在.net framework而不是.net core中。在.net core中,我们通常在appsettings.json中配置。可以参考official link。这里有一个demo:
Startup.cs:
public Startup(IConfiguration configuration)
Configuration = configuration;
public IConfiguration Configuration get;
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
...
services.AddSingleton<IConfiguration>(Configuration);
appsettings.json:
"Logging":
"LogLevel":
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
,
"AllowedHosts": "*",
"ConnectionStrings":
"DefaultConnection": "data source=exmaple;initial catalog=example;persist security info=True;user id=example;password=example"
,
"myKey": "myValue"
测试控制器:
public class TestController : Controller
IConfiguration _iconfiguration;
public TestController(IConfiguration iconfiguration)
_iconfiguration = iconfiguration;
public IActionResult TestData()
ViewBag.Data = _iconfiguration.GetSection("myKey").Value;
return View();
TestData.cshtml:
<p> @ViewBag.data</p>
结果:
【讨论】:
以上是关于我需要从 web.Config appSettings 访问值的主要内容,如果未能解决你的问题,请参考以下文章
从 web.config 文件为 http 请求配置身份验证