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专有的格式。

  • 相关阅读:
    05 单例模式
    04 volatile关键字实现原理
    03 synchronized
    02 java内存模型
    spark性能调优06-数据倾斜处理
    redis缓存架构-03-redis下的replication以及master+slave
    SpringBoot webSocket搭建示例
    Httpclient-(get、post(application/json)、post(application/form-data)、download、upload)
    CentOS-Java 依赖安装
    Git使用教程
  • 原文地址:https://www.cnblogs.com/slmk/p/2322497.html
Copyright © 2011-2022 走看看