私の MVC Web アプリケーションでは、2 つのコントローラーを作成しました。1 つはモバイル デバイスからのリクエストを処理するためのもので、もう 1 つはデスクトップ ブラウザーを処理するためのものです。
誰がアプリケーションを呼び出しているかに応じて、適切なコントローラーのアクションを呼び出そうとしています。このチェックは、用意されているカスタム ロジックによって行われます。
この動的なコントローラーへのリダイレクトを実現する最善の方法は何ですか? 私のアプローチは、1 つの HTTPHandler (ashx) を使用することです。この場合、ソースを確認してから、適切なコントローラーを呼び出します。デバイス/ブラウザは、この ashx ファイルを指す URL にヒットします。
ハンドラーの ProcessRequest() メソッドで、このようなことを試してみました。
<source checking logic>
...
...
var webRequest = HttpWebRequest.Create(MyFinalURL);
var response = webRequest.GetResponse();
context.Response.Write(response);
これが最善のアプローチでしょうか?または、より良い代替手段はありますか?HTTPModule もこの目的で機能しますか? 提案してください。
また、ashx ファイルからコントローラ アクションにリダイレクトするにはどうすればよいですか?