【问题标题】:How do you pass a variable from Program.CS to a Controller in .NET Core 2.1?如何将变量从 Program.CS 传递到 .NET Core 2.1 中的控制器?
【发布时间】:2021-03-05 20:34:16
【问题描述】:

我会提前道歉,我是 .NET 的新手,所以请多多包涵。我的目标是简单地将变量从我的 Program 类传递到我的设置中的控制器。

Program.cs

using System;
using System.Collections.Generic;
using System.IO;

namespace EJ2FileManagerService
{
    public class Program
    {
        public static void Main(string[] args)
        {
            CreateWebHostBuilder(args).Run();
        }
        public static IWebHost CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                     .ConfigureAppConfiguration((hostingContext, config) =>
                     {
                         var test = "results"; 
                     })
                .UseStartup<Startup>()
                .Build();
    }
}

我希望能够在我的TestController 类中使用变量test。它位于 Controllers/TestController.cs 下。

TestController.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Authorization;

namespace EJ2FileManagerServices.Controllers
{
    [Route("api/[controller]")]
    
    public class TestController : Controller
    {
    
    // WANT TO READ TEST VARIABLE HERE

        // GET api/values
        [HttpGet]
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }
        // GET api/values/5
        [HttpGet("{id}")]
        public string Get(int id)
        {
            return "value";
        }
    }
}

【问题讨论】:

  • 有什么理由不能直接在 TestController 中定义属性吗?你从 Program.cs 中获得了什么?您可以查看 Startup.cs 并添加服务以通过依赖注入返回您的值。值得阅读 ASP .Net Core 文档以了解工作流程docs.microsoft.com/en-us/aspnet/core/…
  • 语法警察 - queens-english-society.com/bear-with-me-or-bare-with-me(这里太冷了,不适合你的建议 :))
  • 更认真地阅读docs.microsoft.com/en-us/aspnet/core/mvc/controllers/… 的“配置”部分可能是您所追求的。
  • 我猜这个问题的任何答案都是错误的。如果您提供更多背景信息,以便人们可以引导您朝着正确的方向前进,那将是最好的。这个变量的值从何而来?它是由环境变量提供的,还是从配置文件中读取的,还是命令行选项?

标签: c# asp.net-core .net-core asp.net-core-2.1


【解决方案1】:

这只是用户错误——第一条评论是正确的,我只需要在控制器内部而不是 Program.cs 内部进行调用和操作。

谢谢!

【讨论】:

    猜你喜欢
    • 2020-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-20
    • 2021-12-07
    • 1970-01-01
    相关资源
    最近更新 更多