Я написал код для получения списка служб IIS на удаленном компьютере, теперь я пытаюсь получить информацию о файле .svc веб-службы. Приведенный ниже код работает для всех сервисов, которые хранятся в папке inetpub, но я знаю, что нет необходимости хранить сервисы там, и их можно сохранить где угодно.
public static void IISWebSvcLister(string Hos)
{
try
{
string s = null;
Hos = Hos.Trim();
DirectoryEntry w3svc = new DirectoryEntry("IIS://" + Hos + "/w3svc/1/root");
foreach (DirectoryEntry de in w3svc.Children)
{
if (de.Children.ToString() != null)
{
s += de.Name.ToString() + "\n";
//string sp = HttpContext.Current.Server.MapPath(@"~\\"+Hos+"\c$\inetpub\wwwroot\");
try
{
string[] filePaths = Directory.GetFiles(@"\\" + Hos + @"\c$\inetpub\wwwroot\" + de.Name.ToString(), "*.svc", SearchOption.AllDirectories);
for (int i = 0; i < filePaths.Length; i++)
{
FileInfo fi = new FileInfo(filePaths[i]);
Console.Write(fi.CreationTime.ToString() + "\t" + fi.Length.ToString());
string[] k = filePaths[i].Split('\\');
filePaths[i] = k[k.Length-2]+"\\"+k[k.Length - 1];
Console.WriteLine("\t" + filePaths[i]);
}
}
catch (Exception)
{
Console.WriteLine(de.Name.ToString());
}
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
Как получить файлы для служб, которые не хранятся в папке c: \ inetpub \ wwwroot?
Спасибо