繁体   English   中英

应用程序部署后在 StartUp.cs 中只运行一次函数

[英]Run a function just once in StartUp.cs After application Deployment

我正在开发 ASP.NET 核心 2.2 Web 应用程序。 我想在每次在 Startup.cs 文件中部署应用程序后只运行一次函数。

此功能会减慢应用程序的速度,因为它会对应用程序启动进行一些繁重的检查。 每次部署应用程序时,我只想运行一次。

这是代码


SynapseCore.Services.Plugins.SiteContentDiscovery iCont = new SiteContentDiscovery();
            _logger.LogInformation("Startup - Complete : SiteContentDiscovery", new object[0]);

            SynapseCore.Shared.GlobalData.pluginList = pluginsInfoList;
            _logger.LogInformation("Startup - Complete : pluginList", new object[0]);

            iCont.SetPluginInfo(pluginsInfoList);
            _logger.LogInformation("Startup - Complete : SetPluginInfo", new object[0]);

        //The following function 'CheckDatabaseIntegrity' is to be run once after deployment. 
           iCont.CheckDatabaseIntegrity();
          _logger.LogInformation("Startup - Complete : CheckDatabaseIntegrity", new object[0]);

            iCont.CheckPluginStatus();
            _logger.LogInformation("Startup - Complete : CheckPluginStatus", new object[0]);

            PluginSiteComposedData composedData = iCont.CompileSiteDataList();

我已经调查过

Environment.GetEnvironmentVariables() 

但似乎没有我正在寻找的属性。

我的问题是,如果应用程序在 IIS 上部署后第一次运行,我如何通过代码检测?

您可以简单地存储和检查程序集版本。 如果它增加了,您可以假设您部署了一个新版本。

但是每次要部署新版本时,您还必须在项目属性中增加它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM