【发布时间】: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