2015-10-06 62 views
-1

我查了很多其他示例,無法完全找到我要找的內容,有點背景。我正在研究解決方案以防止瀏覽器窗口打開。.ASPX已更改檢查

當查看目標URL時,標題始終是相同的,直到頁面中的JavaScript能夠查看是否已發佈新消息。在這一點上,動態更改的基礎是,如果您的頁面處於活動狀態,並且未點擊確認按鈕,則java腳本會將其更改爲無新消息。

我最終的目標是檢查一個.ASPX文件的網站,它需要進行身份驗證才能查看它。我試過這段代碼來檢查文件的大小,希望能夠檢測到所有大小的變化,但是當沒有真正的更新時,它的查找大小變爲頻繁變化。

任何想法?

long bbssize = 0; // start size. 
long bbssizewas = 0; // start size. 

在轉瞬間包裹...

HttpWebRequest req = (HttpWebRequest)WebRequest.Create("http://www.fictionalsite.com/Main_View.aspx"); 
req.Method = "HEAD"; 
req.Credentials = CredentialCache.DefaultCredentials; 
HttpWebResponse resp = (HttpWebResponse)(req.GetResponse()); 
long lenth = resp.ContentLength; 
bbssize = lenth; 
if (bbssize != bbssizewas) // checks for change. 
{ 
    pictureBox1.BackColor = Color.Lime; // changes color to green. 
    bbssizewas = bbssize; // sets new value to check. 
} 
+2

投票下來,直到你寫出有意義的英文文本。 – Dusan

回答

1

我找到了原因,我的劇本是工作不正確,在.aspx的位置是在字節波動每隔幾秒鐘,約11使它看起來像有是一個變化。

我調整了代碼以添加「字節」來解釋它,導致if語句僅在發生重大更改時才跳閘。

//在項目早期口述......

long timerisat = 0; 
    long timerwas = 0; 

//裝在一個時鐘滴答。

  System.Net.WebClient client = new System.Net.WebClient(); 
      client.Credentials = CredentialCache.DefaultCredentials; 
      client.OpenRead("http://example.com/thewebpage.aspx"); 
      Int64 bytes_total = Convert.ToInt64(client.ResponseHeaders["Content-Length"]); 
      timerisat = bytes_total; 

      if (timerisat > timerwas) // checks for change. 
      { 
       pictureBox1.BackColor = Color.DarkRed; // changes color to green. 
       button7.FlatAppearance.BorderColor = Color.Red; 
       timerwas = timerisat + 20; // sets new value to check. (adds 20 bytes)   
       // Notification pops up on tooltip. 
       this.notifyIcon1.BalloonTipText = "MyTSC Bulletin Board - Updated"; 
       this.notifyIcon1.BalloonTipTitle = "Workspace"; 
       this.notifyIcon1.Visible = true; 
       this.notifyIcon1.ShowBalloonTip(10); 
      }