これは、ASP.NET MVC でルート値のバインドを無効にする方法に似ていると思いますか? 、しかし、私はその答えを理解していませんでした。
コントローラーの 1 つに、次のようなプロキシ アクションがあります。
public ActionResult Proxy(string path) {
// Issue a request to another server for the provided path
}
そして、このようなルートルール
routes.MapRoute("Proxy", "Proxy/{*path}", new { controller = "Proxy", action = "Proxy" });
これにより、 http ://www.website.com/Proxy/some/path/hereのようなリクエストをhttp://api.someotherwebsite.com/some/path/hereにプロキシすることができ、これは正常に機能します。ただし、http://www.website.com/Proxy/some/path/here?x=1234などのクエリ パラメータがある場合、MVC はクエリ パラメータx
をプロキシ アクションにバインドしようとするため、path
パラメータは最終的にsome/path/here
の代わりに値some/path/here?x=1234
。この動作を防ぎ、パス パラメータにクエリ パラメータを含めるにはどうすればよいですか?