最初にシナリオを説明しましょう。
単一のインストールベースからサービスの複数のコピー(Say 10)をインストールしました。ここで、dllの1つを更新したいと思います。すべてのサービスを停止し、dllを更新して、サービスを再起動する必要があります。
この状況を回避するために、コードでShadowCopyingを使用しました。すべてのサービスを停止せずにdllを更新できるようにします。以下のとおりです。
static void Main(string[] args)
{
AppDomain.CurrentDomain.SetCachePath(@"C:\Cache");
AppDomain.CurrentDomain.SetShadowCopyPath(AppDomain.CurrentDomain.BaseDirectory);
AppDomain.CurrentDomain.SetShadowCopyFiles();
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new SampleService(serviceName)
};
ServiceBase.Run(ServicesToRun);
}
今、私はAsp.Netから次のようにapp.configファイルを介して同じことを達成しようとしています
<hostingEnvironment
idleTimeout="Infinite"
shutdownTimeout="30"
shadowCopyBinAssemblies="true" />
助言がありますか?