Позвольте мне сначала объяснить сценарий.
Я установил несколько копий (скажем, 10) Служб с одной установочной базы. Теперь я хочу обновить один из DLL. Мне нужно остановить все службы, обновить 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);
}
Теперь я пытаюсь добиться того же с помощью файла app.config, как показано ниже, из Asp.Net
<hostingEnvironment
idleTimeout="Infinite"
shutdownTimeout="30"
shadowCopyBinAssemblies="true" />
Есть предложения?