.NET 4.5.2を使用してASP.NET Web APIを作成しています。 APIは起動時にランスペースに接続する必要があります。このStartup.Configurationメソッドがいつ実際に実行されるかについて私には疑問があります。私はウェブサイトやアプリケーションプールを起動したときに実行されていないようです。誰かがウェブサイトに初めてアクセスしようとするまで待つようです。これは正しいです?また、それはランダムな時間に再び実行されるようです。私はそれが2時間、4時間、および16時間後に実行されるのを見ました。それは本当に意味をなさない。これらのメソッドを実行する必要があるときに誰かが私のためにクリアすることはできますか?また、私はそれをすべての接続のための共有されたランスペースにして、誰かがAPIに接続しようとする前に実行したいと思っているので、それらを置くためのより良い場所の提案があります。おそらく別のサービスですか?ASP.NET Web APIスタートアップの質問
また、ASP.NET COREを調べる価値はありますか?私はIIS以外のもので動作する必要はありませんが、COREを使用する利点がある場合は、切り替えが容易なところにあります。
public partial class Startup
{
public Cache GlobalCache;
public static PowershellRunspace PSRunspace;
public static ActiveDirectory ADObjects = new ActiveDirectory();
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
GlobalCache = new Cache();
AppLog log = new AppLog();
log.InfoLog("Starting PowerShell Runspace in Hangfire...", true);
GlobalConfiguration.Configuration.UseSqlServerStorage("Hangfire");
BackgroundJob.Enqueue(() => log.InfoLog("Hangfire started!", true));
BackgroundJob.Enqueue(() => ADObjects.Startup(true));
BackgroundJob.Enqueue(() => StaticRunspace.Start());
app.UseHangfireDashboard();
app.UseHangfireServer();
}
}
ありがとう、それは私が見ているすべてを説明しています。 –