Web サイトで、同じ ASP.NET MVC インスタンスからモバイル バージョンとデスクトップ バージョンを提供したいと考えています。
2 つのホスト名があります。
http://m.sitename.com & http://www.sitename.com
モジュール化を維持したいと考えています。つまり、モバイル サイト用に (ビューを分割するだけでなく) 完全に別個のコントローラーを使用することを意味します。クラス名の重複の問題を避けるために、すべてのモバイル コントローラーに「M」というプレフィックスを付けて喜んで名前を付けます。IE:
MAccountController.cs
AccountController.cs
m.sitename.com/account/x
ではなく、モバイル用の URLを維持したいと思います/maccount/x
。私の見方では、これを適切に処理するには 2 つの方法があります。
オプション1:
すべてのモバイル リンクは/maccount/x
フォーマットになりますが、(URL 内の) 表示名は/account/x
また:
オプション 2:
どういうわけか、モバイルコントローラーはフォーマット付きのリクエストにのみ応答するように設定http://m.sitename.com
し、デスクトップコントローラーはhttp://www.sitename.com
フォーマットのみに応答するように設定しました。
オプション 2a。サブキャッシング IE を使用するAccountController : DesktopController/MobileController
か、
オプション 2b。Controller クラス自体のある種の属性/プロパティ。
オプション1または2のいずれかが可能ですか? 一方が他方より優れているか?これを行うより良い方法はありますか?