日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

『飞秋』在ASP.NET服务器端过程中使用WebBrowser的注意事项

發布時間:2025/3/15 asp.net 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 『飞秋』在ASP.NET服务器端过程中使用WebBrowser的注意事项 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

昨天剛剛完成了一個從網頁上提取內容的ASP.NET程序。因為目標網頁內容比較復雜,所以采用了WebBrowser來代替WebClient。

?

但是,在本地寫好的程序,放到了服務器上就停止工作了,也找不到任何異常提示……

在浪費了十幾個小時的人生之后,終于發現是因為缺少了引用的程序集——為了處理網頁上較為復雜的網頁元素,我在程序中使用了MSHTML中聲明的接口,然而不知道出于什么樣的原因,在項目的引用列表中MSHTML被標記為不復制到本地,發布到服務器上的時候自然也不會包含。更有趣的是,期間我編寫WinForms應用程序來檢驗程序邏輯,放到服務器上運行時也沒有任何加載錯誤,而是單純地不能使用使用了來自MSHTML的接口的過程,害我以為是事件處理過程哪里寫錯了……

?

另一個需要注意的事情是:

有文章指出在ASP.NET中使用WebBrowser最重要的條件是使用STA線程模型,然后使用System.Forms.Application.Run來創建消息循環;文章中還說,對于ASP.NET來說WinForm窗體是不必要的,所以System.Forms.Application.Run(new System.Forms.ApplicationContext())就可以了——但經實際測試,在Windows Server 2003 + IIS6上運行的話,如果WebBrowser并沒有創建在窗體上,則在發生跳轉時不會引發DocumentComplated事件;而在Windows 7+WebDev Server上是不會觀察到這種現象的。

?

?

除了WebBrowser以外,還有一些關于WinForms的發現:

在Load事件中調用Hide方法可能沒有效果,而放在Shown中就可以了——但用戶會觀察到窗體一閃而過。

覆蓋SetVisibleCore可以阻止主窗體顯示,但也會導致很多事件不能正常觸發。
飛秋官網:http://www.freeeim.com/

總結

以上是生活随笔為你收集整理的『飞秋』在ASP.NET服务器端过程中使用WebBrowser的注意事项的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。