获取远程计算机上IIS Web服务的.svc文件信息

时间:2011-06-27 09:56:29

标签: c# .net wcf iis-7

我已经编写了一个代码来检索远程计算机上的IIS服务列表,现在我正在尝试检索有关Web服务的.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中的服务的文件?

由于

0 个答案:

没有答案