По сути, моя программа выполняет удаленное взаимодействие с сервером, останавливает пул приложений в IIS, копирует файл и, наконец, перезапускает пул приложений. Я должен применить эту же процедуру к шести различным серверам. Как я могу объединить это в самый простой и эффективный код?
Вот мой код прямо сейчас (в основном он делает то же самое, 6 раз):
using (ServerManager mgr = ServerManager.OpenRemote("RemoteServer1"))
{
ApplicationPool appPool = mgr.ApplicationPools["TestAppPool"];
if (appPool != null)
{
if (appPool.State == ObjectState.Started)
{
appPool.Stop();
}
}
File.Copy(@"C:\Users\TestUser\Downloads\testfile.txt", @"\\RemoteServer1\Users\TestUser\Documents\testfile.txt");
appPool.Start;
}
using (ServerManager mgr = ServerManager.OpenRemote("RemoteServer2"))
{
ApplicationPool appPool = mgr.ApplicationPools["TestAppPool"];
if (appPool != null)
{
if (appPool.State == ObjectState.Started)
{
appPool.Stop();
}
}
File.Copy(@"C:\Users\TestUser\Downloads\testfile.txt", @"\\RemoteServer2\Users\TestUser\Documents\testfile.txt");
appPool.Start;
}
using (ServerManager mgr = ServerManager.OpenRemote("RemoteServer3"))
{
ApplicationPool appPool = mgr.ApplicationPools["TestAppPool"];
if (appPool != null)
{
if (appPool.State == ObjectState.Started)
{
appPool.Stop();
}
}
File.Copy(@"C:\Users\TestUser\Downloads\testfile.txt", @"\\RemoteServer3\Users\TestUser\Documents\testfile.txt");
appPool.Start;
}
using (ServerManager mgr = ServerManager.OpenRemote("RemoteServer4"))
{
ApplicationPool appPool = mgr.ApplicationPools["TestAppPool"];
if (appPool != null)
{
if (appPool.State == ObjectState.Started)
{
appPool.Stop();
}
}
File.Copy(@"C:\Users\TestUser\Downloads\testfile.txt", @"\\RemoteServer4\Users\TestUser\Documents\testfile.txt");
appPool.Start;
}
using (ServerManager mgr = ServerManager.OpenRemote("RemoteServer5"))
{
ApplicationPool appPool = mgr.ApplicationPools["TestAppPool"];
if (appPool != null)
{
if (appPool.State == ObjectState.Started)
{
appPool.Stop();
}
}
File.Copy(@"C:\Users\TestUser\Downloads\testfile.txt", @"\\RemoteServer5\Users\TestUser\Documents\testfile.txt");
appPool.Start;
}
using (ServerManager mgr = ServerManager.OpenRemote("RemoteServer6"))
{
ApplicationPool appPool = mgr.ApplicationPools["TestAppPool"];
if (appPool != null)
{
if (appPool.State == ObjectState.Started)
{
appPool.Stop();
}
}
File.Copy(@"C:\Users\TestUser\Downloads\testfile.txt", @"\\RemoteServer6\Users\TestUser\Documents\testfile.txt");
appPool.Start;
}