我正在ASP.NET Core 2.2应用程序中寻找区分大小写的路由。
例如:
[HttpGet("/yes}")]
public IActionResult Test()
domain.com/yes 和 domain.com/YES 将执行相同的操作。但是我希望这完全区分大小写。
https://www.visualupload.com/u/2CU
https://www.visualupload.com/U/2CU(u是大写字母,并且都可以。)
我该如何解决?
答案 0 :(得分:1)
正如其他张贴者所提到的那样,我强烈不建议执行此操作,因为出于多种原因,它可能是一场噩梦。但是,可以使用默认路由来做到这一点。
public class MyController : Controller
{
public IActionResult MyAction(string id){ }
}
标准路由过程会将/My/MyAction/TeST
的请求传递给您的MyAction方法。
然后,您可以使用条件逻辑在MyAction方法中执行区分大小写的内容。
再次,这不是推荐的方法,但这是实现目标的一种方法。
编辑:在其中,您可能会有类似的东西
switch(id)
{
case "lowercase":
return MyLowercaseAction();
case "MiXeDcAsE":
return MyMixedCaseAction();
//etc.
}
然后,您将具有单独的方法,这些方法可以返回各种方案的操作结果。或您需要执行的其他任何操作。关键是您将收到信息,并且需要自行执行区分大小写的操作。