zoukankan      html  css  js  c++  java
  • Silverlight WCF RIA Service也遭遇了一次编码问题

    这是一次血的教训: 足足花了我两个小时来调试这个问题,Silverlight应用在开发机器正常,发布到服务器后就出现了问题。

    其实有一个问题浪费了我大部分时间,那就是:Silverlight的Xap缓存问题。刚开始没有注意,以为刷新了就会下载到新的xap文件到浏览器,可是修改了多次程序后,还提示同样的错误,于是删除浏览器临时文件,并通过MessageBox框定位到问题所在:一个DomainService的查询操作总是返回null,这个操作需要一个参数,可这个参数通常是中文!这才恍若大悟,这不是我经常犯的编码问题吗?

    马上配置web.config:

    <globalization requestEncoding="utf-8" responseEncoding="utf-8"/>

    问题终于解决了。

    注:服务器上root的web.config居然配置成gb2312了,弄得我三反两次的出莫名奇妙的问题,这可是血的教训啊!

    其实,WCF RIA也是通过URL请求来取参数的,IE9下F12可以捕捉到网络请求:

    /AppName/ClientBin/AppName-Web-Services-DomainService.svc/binary/GetWWR_Addr?addr=test中文utf-8编码    GET    200    application/msbin1    .53 KB    31 ms        71511    16    15    0    0    437

    还是Get请求,只不过类型是application/msbin1,后端WCF的数据通讯和普通的Asp.net很相似。有兴趣的可以看一下SubmitChanges的请求正文,好像是silverlight专有的格式。

  • 相关阅读:
    JFreeChart学习笔记
    Java基于JavaMail实现向QQ邮箱发送邮件遇到的问题
    JBPM入门
    eclipse jbmp 4.4 插件的安装及配置
    Redis开启远程登录连接
    springmvc @ResponseBody返回json 报406 not acceptable
    generatorConfiguration配置详解
    WCF、WebAPI、WCFREST、WebService之间的区别
    理解nodejs和react之间的关系
    DB2 sqlCode-668
  • 原文地址:https://www.cnblogs.com/slmk/p/2322497.html
Copyright © 2011-2022 走看看