由ASP.NET WebAPI控制器更改的UTF8编码的URL参数

我使用ASP.NET WebAPI构建了一个非常简单的控制器,没有进行任何自定义。代码如下

    public class TestController : ApiController
    {
        [Route("encoding/{x}")]
        [HttpGet]
        public string GetEncoding(string x)
        {
            return x;
        }
    }

现在从客户端开始,我需要传递一个URL为http://localhost:19477/encoding/�的Unicode字符―编码为http://localhost:19477/encoding/%EF%BF%BD。但是,在调试过程中,我发现AbsoluteUri对象中的Request更改为"http://localhost:19477/encoding/%C3%AF%C2%BF%C2%BD",这改变了我的原始路径。

由ASP.NET WebAPI控制器更改的UTF8编码的URL参数

这会使收到的字符串与原始请求完全错误。

kaiyum88 回答:由ASP.NET WebAPI控制器更改的UTF8编码的URL参数

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3124649.html

大家都在问