2017-03-03 9 views
0

C#Web APIを使用して、私のプログラム内で現在のWebブラウザとDevice(PC、mobile)を検出しようとしています。C#Web APIで現在のブラウザとデバイスを検出するにはどうすればよいですか?

どこでも私は人々がRequest.Browserを使うと言うように見えますが、それを働かせることはできません。 何か提案がありますか、私は見落としているものはありますか?

ありがとうございました。

+2

この

VARを試してみてください。現代のブラウザは常に変化し、進化しています。特定のブラウザについて現在あなたが知っている事柄に基づいて決定されたものは、あなたのコードを出荷する時点で古くなってしまいます。ブラウザの*現在の特性*を検出することに依存する*機能検出*を代わりに使用してください。 (つまり、多くのサイトが、IEがサポートしていることについて悪い仮定をしているのは、IE11がブラウザ検出を使用して*サイトを回避しようとするユーザーエージェント文字列を完全に変更した理由です) –

+0

@Damien_The_Unbeliever本当ですか?それはShocKです –

+0

@BugFinder他のデバイス(電話、パッド)を使ってwebapiを呼び出すと、 "Unknown"と表示されます。どのようにできるのか? –

答えて

3
Request.Headers.UserAgent 

おそらく最適ですか。それはあなたにすぐにブラウザを与えるわけではなく、簡単に操作することができます。しかし、ユーザエージェントからはおそらくブラウザを入手するライブラリがあります。

+0

他のデバイス(電話、パッド)を使ってwebapiを呼び出すと、「不明」と表示されます。どのようにできるのか? –

+1

できません。デバイスがその情報やその他のヘッダーを送信していない場合は、APIがどのデバイスであるかを知ることは不可能です。 –

0

はご遠慮下さいDEVICETYPE = HttpContext.Current.Request.UserAgent

+0

他のデバイス(電話、パッド)を使ってwebapiを呼び出すと、「不明」と表示されます。どのようにできるのか? –

+0

更新された回答を見つける –

関連する問題