私はバックエンドがWeb APIであるMVC 5アプリケーションがあります。私のサーバーへのリクエストごとに、私はvar UserAgent = Request.UserAgent.ToString();
のようなコントローラアクションメソッドで取得できるユーザエージェントを提供する必要があります(コントローラ=>サービス=> HttpRequester => XXXHttpClient) XXXHttpClientクラスでは、私は同じことを達成するためのよりよい方法があると思います。私はそれをgoogleにしようとしましたが、関連するものは何も見つかりませんでしたので、後で渡すのではなくXXXHttpClientクラスでuser-agentを直接取得したい場合、誰もがベストプラクティスを教えてくれます。mvc 5アプリケーションのユーザーエージェント
0
A
答えて
1
多くの可能な回答で幅広い質問が少しあります。
通常、すべてのレイヤーにデータを渡すのは良いことではありません。
私は、ユーザーエージェントをつかんでオブジェクトに設定するMVCアクションフィルターを作成します。オブジェクトクラスは次のようになります。
public class RequestContext
{
public string UserAgent { get; set; }
}
この要求ごとに1回注入するために依存性注入フレームワークを使用します。アクションフィルタとデータに依存するレイヤは同じインスタンスを使用し、必要なレイヤにデータを取得できます。
別の静的プロパティを使用していますオプション:
HttpContext.Current.Request.UserAgent
グレーターパフォーマンス、読みやすく、より低いテスト容易:)
関連する問題
- 1. LinkedIn for ASP.NET MVC 5アプリケーション
- 2. コントローラlaravel 5のユーザーエージェントを取得する
- 3. asp.net MVC 5アプリケーションのLDAP認証
- 4. カスタムクラスのアプリケーション設定ASP.Net 5 MVC 6
- 5. ASP MVC 5 EF - アプリケーション設定の保存 -
- 6. MVC 5 WebアプリケーションとWeb APIの共有
- 7. のasp.net MVC 5
- 8. MVC 5:単一のWebアプリケーションの複数の認証方式?
- 9. Mvc 5アプリケーションのすべてのHtmlページ名のリストを取得
- 10. ASP.NET MVC 5のClaimsIdentity
- 11. ASP.NET MVC 5のルート
- 12. MVC 5のHtml.Textboxコンディションバインド
- 13. ASP.NET MVC 5のモデルエラー
- 14. mvcアプリケーションmvcアプリケーション
- 15. MVC 5アプリケーションのIISリバースプロキシ設定の問題
- 16. ASP.NET 5 RC1からASP.NET Core RC2へのMVCアプリケーションの更新
- 17. SSRS with MVC 5
- 18. C#MVC 5 Html.ActionLInk
- 19. MVC 5ヘルパーエラー
- 20. Asp.NET MVC 5 Trace
- 21. カスタムエラーMVC 5
- 22. MVC 5モデルバインダーオーバーライド
- 23. MVC 5ドロップダウンリスト
- 24. MVC 5レイアウトページ
- 25. MVC 5ボタンアクション
- 26. MVC 5レイザーSystem.Security.SecurityException
- 27. MVC 5 dnx.exeエラーメッセージ
- 28. ASP.NET MVC 5(アイデンティティ)
- 29. MVC 5シングルページアプリケーションテンプレート
- 30. MVC 5アプリケーションからUNCパスにアクセスする際の問題
一回あたりの要求は、アクションメソッドレベルで意味しますか? –
はい、通常、DIフレームワークは「一時的な」スコープを提供します。これは、それを必要とするすべてのオブジェクトに対してインスタンスが作成され、単一のインスタンスが要求するすべてのオブジェクトによって共有されることを意味する「シングルトン」スコープと、単一のHTTP要求の一部として作成されたオブジェクトは、同じインスタンスを取得します。 Ninjectでは、これは 'InRequestScope()'です。 – juunas
可能であれば、いくつかのコードまたは参照リンクをお勧めしますか? –