您如何以与其前身 webforms 相同的风格从 appsettings.json 中读取信息?

Posted

技术标签:

【中文标题】您如何以与其前身 webforms 相同的风格从 appsettings.json 中读取信息?【英文标题】:How do you read from appsettings.json in the same style as it's predecessor, webforms? 【发布时间】:2021-08-20 22:25:35 【问题描述】:

WebForms 中,我们将有一个web.config 文件,我们可以使用ConfigurationManager.AppSettings["SomeKey"]; 从键值对中检索值。

我刚刚在.NET 5.0 开始了一个项目,似乎没有一种简单的方法可以做一些看似微不足道的事情?

我在网上查看了有关如何使用@ 表示法从.cshtml 文件访问appsettings.json 中这些密钥的教程,但未能成功。

appsettings.json


  "Logging": 
    "LogLevel": 
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    
  ,
  "AllowedHosts": "*",
  "MyKey": "wwwwwwwwwww"

Index.cshtml

<h1>
    Title - @ConfigurationManager.AppSettings["MyKey"];
</h1>

以上说明了我想要实现的目标,是否有一种简单的方法可以做到这一点,而不是创建类等,因为我似乎无法遵循他们的示例。

【问题讨论】:

你能链接你正在谈论的教程吗?你也见过this吗? 这些都没有意义/有效。什么是 ApplicationInsights,我将那些 using/inject 放在 .cshtml 的顶部并执行此操作 @Configuration.GetSection("ApplicationInsights")["MyKey"]; 并且是空的(页面上不显示任何内容)。 【参考方案1】:

To access configuration settings 在 .NET 项目的视图中,您应该能够使用 @ 注释。这是通过将配置注入页面来完成的:

@page
@model Test5Model
@using Microsoft.Extensions.Configuration
@inject IConfiguration Configuration

Configuration value for 'MyKey': @Configuration["MyKey"]

以这个 appsettings.json 为例:


  "Logging": 
    "LogLevel": 
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    
  ,
  "AllowedHosts": "*",
  "Test": "Hello World",
  "ConnectionStrings": 
    "SomeContext": "SomeConnectionStringProperties"
  ,
  "SectionOne": 
    "SectionOneTestVal": "SomeTestValue"
  

要访问Test 键,只需使用@Configuration["Test"],而要访问SectionOne 部分中的SectionOneTestVal“键”,您可以执行Configuration.GetSection("SectionOne")["SectionOneTestVal"] 之类的操作:

因此将其添加到视图中:

<p>@Configuration["Test"]</p>
<p>@Configuration.GetSection("SectionOne")["SectionOneTestVal"]</p>

...会产生:

有关更多信息和示例,另请查看dependency injection into views。

【讨论】:

以上是关于您如何以与其前身 webforms 相同的风格从 appsettings.json 中读取信息?的主要内容,如果未能解决你的问题,请参考以下文章

win11怎么在游戏内截图?

如何比较ag-grid中的行

如何在 asp.net webform 中使用我自己的购物车实现 Paypal

您如何称呼具有相同键/值的数组?

打开/关闭母版页以获取webform

如何在asp.net C# Webform中制作像网格一样的Excel