C# 未找到网络异常

C# 未找到网络异常,c#,C#,我试图在域网络的计算机上查找txt文件 我到目前为止所做的: 我在一个数组中列出了域中所有计算机的列表,所以我在getfile命令的帮助下,用相应的地址迭代每台计算机 我被困的地方: 有些计算机我无法访问。因此,我的搜索要么花了很长时间跳过这些异常,要么在某个时候被击中。因为有500多个系统,所以我想提高程序的速度和准确性 我主要是得到网络未发现的错误 这是我的密码: namespace ABC { class Program { static void Main(string[]

我试图在域网络的计算机上查找txt文件

我到目前为止所做的:

我在一个数组中列出了域中所有计算机的列表,所以我在getfile命令的帮助下,用相应的地址迭代每台计算机

我被困的地方:

有些计算机我无法访问。因此,我的搜索要么花了很长时间跳过这些异常,要么在某个时候被击中。因为有500多个系统,所以我想提高程序的速度和准确性

我主要是得到网络未发现的错误

这是我的密码:

namespace ABC
{


class Program
{

    static void Main(string[] args)
    {
        List<string> cnames=new List<string>();

        DirectoryEntry entry = new DirectoryEntry("LDAP://abc.com", "username", "password", AuthenticationTypes.Secure);

        DirectorySearcher mySearcher = new DirectorySearcher(entry);

        mySearcher.Filter = ("(objectClass=computer)");

        foreach (SearchResult resEnt in mySearcher.FindAll())
        {
            string name = resEnt.GetDirectoryEntry().Name;
            if (name.StartsWith("CN="))
                name = name.Remove(0, "CN=".Length);
            cnames.Add(name);
        }
        int cnumbers=cnames.Count;

       for (int i = 0; i < cnumbers;i++ )
        {
            string s = "\\\\" + cnames[i] + "\\ab\\cd";
            string[] dirs = null;
            Console.WriteLine("Name of Computer=" + cnames[i]);
            try
            {
                dirs = Directory.GetFiles(s);
                try
                {
                    foreach (string dir in dirs)
                    {
                        Console.WriteLine(dir);
                    }
                }
                catch (Exception e)
                {

                }

            }
            catch (Exception)
            {
            }
        }
    }
}
}
ABC名称空间
{
班级计划
{
静态void Main(字符串[]参数)
{
List cnames=新列表();
DirectoryEntry=new DirectoryEntry(“LDAP://abc.com”、“用户名”、“密码”、AuthenticationTypes.Secure);
DirectorySearcher mySearcher=新的DirectorySearcher(条目);
mySearcher.Filter=(“(objectClass=computer)”);
foreach(在mySearcher.FindAll()中重新发送搜索结果)
{
字符串名称=resEnt.GetDirectoryEntry().name;
如果(name.StartsWith(“CN=”))
name=name.Remove(0,“CN=”.Length);
cnames.Add(姓名);
}
int cnumbers=cnames.Count;
对于(int i=0;i
尝试在catchGetfiles()将i的值增加1。方法是一种阻塞方法,将等待实际响应后再继续。如果将代码放在异步方法(如backgroundworker)中,则可以生成多个线程,这样就不用等待每台计算机响应。