22

Web サービス ウィッチを呼び出すと、次の 2 つのパラメーターが取得されます。

潜在的に危険な Request.Path 値がクライアント (&) から検出されました。

ルート構成:

config.Routes.MapHttpRoute(
name: "PropertiesSearch",
routeTemplate: "api/property/Search/{category}/{query}",
defaults: new { controller = "Property", action = "Search", category = "common", query = string.Empty }
);

コントローラーの方法:

[HttpGet]
public SearchResult Search(string category, string query)
{
}

私がAPIを呼び出すとき:

/api/property/search/homes/areaId%3D20339%26areaId%3D20015

潜在的に危険な Request.Path 値がクライアント (&) から検出されました。

これを行う:

/api/property/search/homes/?query=areaId%3D20339%26areaId%3D20015

正常に動作します。

ルーティング デコードの問題を解決するにはどうすればよいですか?

4

1 に答える 1

30

Scott Hanselmanがこれについてブログを書いています。web.config でノードのrequestPathInvalidCharactersプロパティを確認することをお勧めします。<httpRuntime>

個人的には、URI 部分にそのような文字を含めずに、それらの値をクエリ文字列パラメーターとして単純に配置します。

于 2013-01-16T21:56:01.627 に答える