在asp.net core 3.1中,在program定义了静态变量,想给其他方法或控制器调用,该如何做呢?

ahking 2020-09-20 11:38:12
在asp.net core 3.1中,在program定义了静态变量,想给其他方法或控制器调用,该如何做呢?


public static DataTable InitData;
public static void Main(string[] args)
{
var host = CreateHostBuilder(args).Build();

InitData = DAL.GetData1();

host.Run();

//CreateHostBuilder(args).Build().Run();
}



其他类中访问不到,请问该怎么解决呢?
...全文
10910 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
江湖评谈 2020-09-22
  • 打赏
  • 举报
回复



楼上说的都很清楚了
ahking 2020-09-22
  • 打赏
  • 举报
回复
引用 3 楼 wanghui0380 的回复:
回答不了,因为俺们不知道你期待的是哪种回答。 so,2楼补充了你的想法后,我们说既然你都知道关心startup了。那么那啥 Sevices.AddSingleton<xxxxx> app.UseXXXX 应该看到了,你总不能视而不见把。 所以你是直接第一个注册了,然后在类构造里注入。还是用第2个那个号称midware的pipeline里弄,就看自己的心意了 这玩意手段太多,所以没有上下文的情况,我们无法选择应该怎么回答你,比如你目前的写法。你担心什么方法运行不运行。那好 lazy<DataTable> 总可以把。反正第一次用就执行,不用不执行总成把
刚开始用.net core mvc编程,很多不熟悉的地方。场景是这样的 在程序启动的时候从数据库先加载大约10万条
引用 3 楼 wanghui0380 的回复:
回答不了,因为俺们不知道你期待的是哪种回答。 so,2楼补充了你的想法后,我们说既然你都知道关心startup了。那么那啥 Sevices.AddSingleton<xxxxx> app.UseXXXX 应该看到了,你总不能视而不见把。 所以你是直接第一个注册了,然后在类构造里注入。还是用第2个那个号称midware的pipeline里弄,就看自己的心意了 这玩意手段太多,所以没有上下文的情况,我们无法选择应该怎么回答你,比如你目前的写法。你担心什么方法运行不运行。那好 lazy<DataTable> 总可以把。反正第一次用就执行,不用不执行总成把
刚开始使用.net core mvc编写程序,感谢您的热心回复。 场景是这样的: 在程序启动时需要从数据库里读取10万条记录到datatable里,然后在某个controller中对这个datatable里的数据进行一些数据计算什么的,但是需要用到多线程并行。为了防止每次请求都读数据库,所以想了这么一方法,不知道合不合适。
wanghui0380 2020-09-22
  • 打赏
  • 举报
回复
回答不了,因为俺们不知道你期待的是哪种回答。 so,2楼补充了你的想法后,我们说既然你都知道关心startup了。那么那啥 Sevices.AddSingleton<xxxxx> app.UseXXXX 应该看到了,你总不能视而不见把。 所以你是直接第一个注册了,然后在类构造里注入。还是用第2个那个号称midware的pipeline里弄,就看自己的心意了 这玩意手段太多,所以没有上下文的情况,我们无法选择应该怎么回答你,比如你目前的写法。你担心什么方法运行不运行。那好 lazy<DataTable> 总可以把。反正第一次用就执行,不用不执行总成把
ahking 2020-09-22
  • 打赏
  • 举报
回复
引用 1 楼 贵阳老马马善福专业维修游泳池堵漏防水工程 的回复:
用 Program.InitData
这种在program中定义自定义变量的方法合不合适?在运行自定义方法时,startup中服务是否注册完成了呢?
ahking 2020-09-22
  • 打赏
  • 举报
回复
引用 5 楼 tangyanzhi1111 的回复:
楼上说的都很清楚了
我的理解用中间件?
threenewbee 2020-09-21
  • 打赏
  • 举报
回复
用 Program.InitData

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧