![](/img/trans.png)
[英]Is there any way to configure owin startup.cs to be run before global asax application start?
[英]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.