asp.net – ASMX Web服务对传入请求使用错误编码
发布时间:2020-12-16 09:51:11 所属栏目:asp.Net 来源:网络整理
导读:我的.NET ASMX Web服务正在接受来自我无法直接控制的客户端的请求.它正在发送一个如下所示的请求: POST /Service.asmx HTTP/1.1Connection: Keep-AlivePragma: no-cacheContent-Length: 1382Content-Type: text/xmlAccept: text/xmlHost: localhostUser-Age
我的.NET ASMX Web服务正在接受来自我无法直接控制的客户端的请求.它正在发送一个如下所示的请求:
POST /Service.asmx HTTP/1.1 Connection: Keep-Alive Pragma: no-cache Content-Length: 1382 Content-Type: text/xml Accept: text/xml Host: localhost User-Agent: Borland SOAP 1.1 SOAPAction: "http://domain.com/InsertRecords" <?xml version="1.0"?> <SOAP-ENV:Envelope... <v>?LM? B?CK</v></SOAP-ENV:Envelope> 在我的WebMethod中,字符串?LM?B?CK被提到了? B ?? CK – 典型的编码混乱. 在我的测试中,我发现如果我只是调整内容类型的标题,一切都很好: Content-Type: text/xml; charset=utf-8 为什么.NET在未指定的情况下选择utf-8以外的编码,有什么方法可以强迫这个ASMX使用UTF-8编码? 解决方法
在调用Web服务处理程序之前运行以下代码会导致HTTP请求被正确解码:
if (HttpContext.Current.Request.ContentType == "text/xml") { HttpContext.Current.Request.ContentType = "text/xml; charset=UTF-8"; } 这感觉有点黑客,但我相信它对我的情况会很好.我仍然对一些背景信息非常感兴趣,这些信息根本就是为什么这是一个问题,如果有更好的方法来解决这个问题(除了让客户端更清楚地了解编码). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 禁用某些字段的验证
- 安装程序 – 无法安装ASP.NET MVC3 RTM?
- asp.net-mvc – 使用C#以编程方式将AzureAd / OpenId验证为
- asp.net – global.asax断点未命中
- asp.net-mvc – ASP.NET MVC应用程序性能分析
- asp.net – MVC应用程序构建速度极慢
- ASP.NET是多线程的(它如何执行请求)
- asp.net-mvc – ASP.NET MVC剃刀视图引擎默认编码HTML吗?
- ASP.NET MVC – Response.Write代码 – 将它放在Controller
- asp.net – 以URL结尾的问题
推荐文章
站长推荐
- 为什么我在ASP.NET MVC中收到“指令’控件’未知
- asp.net-mvc-3 – 向th添加一个类
- 如何在asp.net中使用JSON和JQuery从WebMethod返回
- asp.net-mvc – ASP.NET MVC Intellisense没有找
- asp.net – LabelFor EditorFor在同一条线上?
- asp.net-mvc – Kendo Grid Edit InLine Custom
- ASP.NET Ajax控件套件与JQuery
- asp.net – Internet Explorer中的图像加载超时
- asp.net – 有没有办法将动态文本应用于webform上
- asp.net-mvc-3 – MVC 3模型属性未在html.action
热点阅读