2012-02-28 68 views
0

如果最終用途安裝了.NET Framework4客戶端,是否可以通過網站進行檢查? 這是可取的,如果這種方式不使用任何插件(閃光或silverlight)。如果安裝了.NET Framework4客戶端,如何通過網絡進行檢查

+1

爲什麼需要檢查客戶端是否有.NET 4才能運行非Flash/Silverlight網站?所有代碼都在服務器上運行,客戶端只需呈現獨立於.NET的HTML。 – ChrisF 2012-02-28 15:38:18

+0

我可能誤解了你的問題 - 但是如果你解釋了你想要做什麼,你嘗試了什麼,什麼不起作用,這會對你的問題有所幫助。 – ChrisF 2012-02-28 15:47:43

+0

我只是有一個任務來檢查它。 – Alexandre 2012-02-28 15:48:43

回答

2

從服務器端,你可以做的最好的是嗅探與請求一起發送到網站的user agent。在其中你通常會看到一些沿線的東西:

.NET <version number> 

或者這個效果。

當然,也有主要缺點此(因爲不存在與任何用戶代理檢測),其保證這樣做:

  • 用戶代理可以被欺騙
  • 解析字符串是不是結構化是通常容易出錯
  • 並非所有瀏覽器(即非IE瀏覽器)被強制發送此信息

也就是說,ChrisF's comment問爲什麼有點相關,因爲你最好在客戶端執行代碼來檢測這個問題,因爲有more definitive ways (checking the registry) of determining if .NET 4.0 is installed on the client,使用你從服務器沒有的機制側。

的事情是,如果代碼是從服務器端提供了,那麼它很可能會在沙盒一些方式,你就必須想出一個辦法來訪問註冊表(這通常被限制在從網上下載的代碼的大多數沙箱中)。

相關問題