0
URLのパス全体を自分のIActionResultの変数として返すasp.netコアのルートを持つことは可能ですか?例えばasp.netコアルーティング - スラッシュを含むURLパラメータを取得する
:https://example.com/servicesと
- 、パス変数が に "サービス" https://example.com/services/cleaningで
- 等しくなければならない、パス変数は "サービス/クリーニング" に等しくなければなりません
- https://example.com/services/paintingの場合、のパスは https://example.com/services/painting/interiorと「サービス/絵画」
- に等しくなるよう、パス変数は 「サービス/絵画/インテリア」
が、私は私のStartup.cs
にのみ、以下のルートを持っているに等しくなければなりませんこれは、例えば1動作しますが、例2、3については無視され
app.UseMvc(routes =>
{
routes.MapRoute(
"Redirect",
"{*path}",
new { controller = "Home", action = "Index", path = string.Empty }
);
});
、および4
は、どのように私は、SLAの数にかかわらず、ルートが仕事を得ることができます彼女は?
UPDATE:私の問題は、私はルート定義で私のコントローラを飾っていたことでした。私はそれを削除し、すべて正常に動作します。
リクエストパスを探している場合は、おそらく['HttpContext.Request'](https://github.com/aspnet/HttpAbstractions/blob/dev/src/Microsoft.AspNetCore.Http/)にあります。 DefaultHttpContext.cs#L108)オブジェクトです。有望に見える['.Path'](https://github.com/aspnet/HttpAbstractions/blob/dev/src/Microsoft.AspNetCore.Http.Abstractions/HttpRequest.cs#L54)プロパティがあります。 –
@DavidPine私が抱えている問題は、例2,3,4では空白のページがあるということです。私はそれが有効なルートだと感じるものを見つけることができないので、推測しています。 –
これは正しい仮定です。 –