私は主にデスクトップブラウザ用に構築された.NET Webサイトを持っていますが、現在はモバイル版のものを作っています。私がしようとしているのは、ユーザーがアクセスしたデバイスに応じてWebサイトをロードすることです。サイトのリクエスト時にユーザーのデバイスに関する情報を取得できる方法はありますか?ウェブサイトにアクセスしたデバイスをどのように検出できますか?
よろしく、 Sumit。
私は主にデスクトップブラウザ用に構築された.NET Webサイトを持っていますが、現在はモバイル版のものを作っています。私がしようとしているのは、ユーザーがアクセスしたデバイスに応じてWebサイトをロードすることです。サイトのリクエスト時にユーザーのデバイスに関する情報を取得できる方法はありますか?ウェブサイトにアクセスしたデバイスをどのように検出できますか?
よろしく、 Sumit。
あるbrowser definition files情報は完全に無価値であります。
たとえば、Request.Browser.IsMobileDevice
を使用すると、はになりますが、Windowsの.NETフレームワークフォルダにある非常に日付の付いた正規表現のセットに基づいています。
スタックオーバーフローに関する(現在未回答の未解決の)投稿hereで発生する可能性がある問題の種類を確認できます。
ブラウザ定義ファイルを最新の状態に保つことを計画していない場合(小さなタスクではありません)、このルートを使用しないでください。
あなたは、単にユーザーがここにモバイルデバイスで表示されているかどうかを知りたい場合は、いくつかのオプションがあります
いくつかは無料で、いくつかは無料で、あなたが本当にそれがモバイルデバイスであるかどうかだけに興味があるので、私の推奨はモバイルブラウザの検出を使用することです。
HttpBrowserCapabilities
クラスをご覧ください。
クライアントで実行されているブラウザの機能に関する情報をサーバーが収集できるようにします。
これは実際にPage
オブジェクトのプロパティRequest
に露出している - ASP.NETページには、次の操作を行うことができます
var browserCap = this.Request.Browser;
あなたはHttpRequest.Browserプロパティを調べることができます - MSDN link。
他の人が示唆したように、市販のalernativeは、あなたが更新することなく、しかしRequest.Browser
を介してアクセス可能なSystem.Web.HttpBrowserCapabilities
クラスを使用することができますBrowserHawk
+1すてきな答え。内蔵されたものは、最近そこにある多くのデバイスに追いついていません。 – Devin