Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Htmlagibility with Signal用于连续web审计_C#_Asp.net_Signalr_Html Agility Pack - Fatal编程技术网

C# Htmlagibility with Signal用于连续web审计

C# Htmlagibility with Signal用于连续web审计,c#,asp.net,signalr,html-agility-pack,C#,Asp.net,Signalr,Html Agility Pack,我正试图建立一个网络爬虫,在那里,一旦输入主URL,它将更新你,如果任何链接在该域上被打破。我不希望在点击按钮时审核URL,而是希望它定期更新,例如每当链接断开时,它就会显示在仪表板上 为此,我尝试使用具有HTML功能的信号器。这是我在信号中心的代码: using System; using System.Collections.Generic; using System.Linq; using System.Web; using Microsoft.AspNet.SignalR; using

我正试图建立一个网络爬虫,在那里,一旦输入主URL,它将更新你,如果任何链接在该域上被打破。我不希望在点击按钮时审核URL,而是希望它定期更新,例如每当链接断开时,它就会显示在仪表板上

为此,我尝试使用具有HTML功能的信号器。这是我在信号中心的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.AspNet.SignalR;
using HtmlAgilityPack;
using System.Web.UI.WebControls;

namespace scanUrl
{
    public class TestHub : Hub
    {

        public void PopulateTreeView(string aURL, int parentId, TreeNode treeNode, TreeView tvURL)
        {
            HtmlWeb hw = new HtmlWeb();
            HtmlDocument doc = hw.Load(aURL);
            foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//a[@href]"))
            {
                HtmlAttribute att = link.Attributes["href"];

                if (Uri.IsWellFormedUriString(att.Value, UriKind.Absolute))
                {
                    TreeNode child = new TreeNode
                    {
                        Text = att.Value,
                        Value = att.Value
                    };
                    if (parentId == 0)
                    {
                        tvURL.Nodes.Add(child);
                        PopulateTreeView(aURL, int.Parse(child.Value), child, null);
                    }
                    else
                    {
                        Clients.All.treeNode.ChildNodes.Add(child);
                    }
                }
            }
        }
    }
}

我的.aspx页面上有一个treeview控件,该控件将从signalR Hub类中填充/加载,但我如何才能使此过程连续进行?

您必须使用JS和Ajax来完成谢谢,很有帮助(y),如果您能提供任何参考URL,那将是令人惊讶的