如何限制参数绑定的字符集?

时间:2017-01-04 15:50:31

标签: asp.net-web-api2 model-binding parameterbinding

我遇到的情况是我必须将路由值,查询参数和json正文内容的Web服务字符集限制为latin1。

我和那个econtent谈判者一起玩过,但那个只是为了响应格式化。

我已尝试用支持意外字符的格式替换媒体格式化程序中支持的编码但例如,当JsonMediaTypeFormatter执行其ReadFromStream调用时,effectiveEncoding参数已经是latin1和字符串已经乱码了(我正在尝试一些中文字符)。

我实际想要发生的是每当指定了错误的编码或每次出现非latin1字符时都会创建一些BadRequest结果。

有人能给我一个提示,在哪里寻找正确的地方来解决这个问题吗?我确信必须有一种更好的方法,而不是在DelegatingHandler中“手动”完成所有操作。

1 个答案:

答案 0 :(得分:0)

最后,我刚刚将媒体格式化程序替换为在反序列化为对象之前使用Encoding.GetBytes(...)验证字符串的媒体格式化程序。