2017-03-03 83 views
0

我試圖在我的程序中使用C#Web API檢測當前的Web瀏覽器和設備(PC,移動設備)。如何在C#web API中檢測當前瀏覽器和設備?

到處都是人們說使用Request.Browser,但是我無法讓它工作。 任何建議或有什麼我可以忽略?

感謝。

+2

請不要。現代瀏覽器正在不斷變化和發展。根據您當前知道的事情做出的任何決定對特定瀏覽器而言都是真實的或錯誤的,在您發佈代碼時將會過時。使用*特徵檢測*代替,它依賴於檢測瀏覽器的*當前特徵*。 (也就是說,很多網站對IE支持的不好的假設是IE11完全改變其用戶代理字符串以試圖使用瀏覽器檢測來逃避網站的原因) –

+0

@Damien_The_Unbeliever真的嗎?這是ShocK –

+0

@BugFinder當我使用其他設備(手機,打擊墊)來調用webapi時,它會顯示「未知」。我能怎麼做? –

回答

3
Request.Headers.UserAgent 

可能是你最好的選擇。它不會立即爲您提供瀏覽器,並且可以輕鬆進行操作。但是,從用戶代理可能有一些庫來獲取瀏​​覽器。

+0

而當我使用其他設備(手機,平板電腦)撥打webapi時,會顯示「未知」。我能怎麼做? –

+1

你不能。如果設備沒有發送該信息或其他標識自己的標頭,API不可能知道它是什麼設備。 –

0

試試這個

VAR的devicetype = HttpContext.Current.Request.UserAgent

+0

當我使用其他設備(手機,打擊墊)調用webapi時,它會顯示「未知」。我能怎麼做? –

+0

找到更新的答案 –