我在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(你是大写的,都在工作。)
我怎样才能解决这个问题?
正如其他海报所提到的那样,我强烈反对这一行动,因为出于多种原因这可能是一场噩梦。但是,可以使用默认路由执行此操作。
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.
}
然后,您将拥有返回各种方案的操作结果的各个方法。或者你还需要做什么。关键是您将收到信息,并需要自己采取区分大小写的操作。