WebService Behavior的一个中文Bug

web|中文

开心记得上次我做试验的时候,好象中文传输是有一些问题。<br>
我忘了是在哪一个阶段用的了,反正在使用某个方法的时候是出了问题。<br>
对了,想起来了。<br>
如下有一个Web Method<br>
[Web Method]<br>
public string test(string x)<br>
{<br>
     //此处代码省略,将X值记录到服务器端的一个文件中<br>
     ...<br>
     return x;<br>
}<br>
然后在客户端调用,并且传递一个中文字符或者其它特殊字符,如"\\"等给它,在返回到客户端可以看到其是正确的,但是,你如果打开它存在服务器端的那个文件,就会发现里面存的是一个乱码。<br>
开心想了半天,后来找到一个解决方案,对X进行UrlDecode就可以了。<br>
然后再在服务器端对其进行判断。<br>
比如,开心做聊天室,想判断其发言是否含有“靠”,“我 靠”这样的不雅字眼,<br>
[WebMethod]<br>
public string inputWhatYouSay(string ISay)<br>
{<br>
   //label<br>
    if(ISay.indexOf("靠")!=0)<br>
   {<br>
           return "该发言中有不当言语";<br>
    }<br>
    else<br>
   { <br>
          return ISay;<br>
   }<br>
}<br>
这样的话你可以试一下,无论你在客户端输入多少个“靠”,根本不管用,人家不理你,还是原样返回到客户端,但是,如果你在我程序中的“//label"处增加一行代码<br>
ISay=Server.UrlDecode(ISay);<br>
则一切正常了:)<br>
<br>
这只是一个临时的解决办法,估计这也是微软的一个Bug。等他们下一版本中改正吧。

时间: 2024-08-03 04:02:37

WebService Behavior的一个中文Bug的相关文章

一个用webservice behavior实现的三级联动下拉列表框

web|下拉|下拉列表 我做了一个三级联动的下拉列表框,后台用webservice,前台用webservice behavior与后台通讯.请高手们多提改进意见. server端:(service1.asmx.cs)using System;using System.Text;using System.Configuration;using System.Collections;using System.ComponentModel;using System.Data;using System.

如何用word写一个中文邮件?

  如何用word写一个中文邮件? 1.打开word. 2.点击邮件界面. 3.点击收件人,如果你没有注册过,那么请略过这一步. 4.点击左上角的中文信封. 5.然后,如果有提示的话,你可以观看信封制作向导,如果没有的话,也请略过这一面. 6.展示过后,会自动创建一个新的word文档,名为:"未命名-2". 7.填写信封界面. 8.返回初建立文档,填写文章内容,然后点击发送. 注意事项 因word本身问题,可能会有发送不成功的情况,或操作步骤不同的情况.

c++-二叉树搜索的问题,以及一个小bug

问题描述 二叉树搜索的问题,以及一个小bug #include<iostream> #include<string> using namespace std; class node{ public: string name; string keyword; node* left; node* right; node(string a = "0", string b = "0", node* c = 0, node* d = 0) : name

Win10 UWP系列:关于错误 0x80073CF9及一个小bug的解决

原文:Win10 UWP系列:关于错误 0x80073CF9及一个小bug的解决 最近一直在开发XX的uwp版本,也是边摸索边做,最近遇到几个比较奇怪的问题,记录于此. 1.项目可用部署到PC,但无法部署到手机,提示以下错误: 错误 : DEP0001 : 意外错误: Install failed. Please contact your software vendor. (Exception from HRESULT: 0x80073CF9 为了方便开发,我将常用的类库引用好.默认的几个页面做

menu-关于popupwindow学习中出现的一个小bug

问题描述 关于popupwindow学习中出现的一个小bug 我设置了一个buttonde点击事件 点击后能弹出popuowindow的框 ,我也设置了menu键,点击menu键 也可以弹出这个popupwindow的框 ,但是奇怪的地方在于,如果我不先点击button,我点menu键,它不会再弹出这个popupwindow的框了 ,意思就是只有先点button弹出那个popupwindow框先,点击menu才会有popupwindow这个框.我一直找不到原因,特地找各位大神帮帮忙!然后还有一个

在服务器上部署了一个OnlyOffice运行后在打开的文档区域中只能输入英文,不能切换到中文输入怎么回事?打开一个中文的Word显示出来是乱码怎么解决这些问题?

问题描述 在服务器上部署了一个OnlyOffice运行后在打开的文档区域中只能输入英文,不能切换到中文输入怎么回事?打开一个中文的Word显示出来是乱码怎么解决这些问题?有谁使用过或者解决过这样的问题?不知道.NET大婶是否解决过的问题?实在是干不动了!求分享. 解决方案 解决方案二:是没有中文字典的问题!有谁解决过这个问题码?

编码-php上传一个中文名字的图片能显示出来也能存进数据库但数据库中名字是问号,不知怎么改是好麻烦大家了!

问题描述 php上传一个中文名字的图片能显示出来也能存进数据库但数据库中名字是问号,不知怎么改是好麻烦大家了! php中编码为:header('content-type:text/html;charset=gbk');php中加了此句:mysqli_query($dbcset names 'gbk'"");php脚本编码格式为:ANSI数据库链接校对为:gbk_general_cimysql字符集:utf8我用此句:set names 'gbk' 将其改为'gbk' 解决方案 把PHP

web服务器-两台webservice服务器使用一个地址访问?

问题描述 两台webservice服务器使用一个地址访问? 现在有两台web服务器都有一套相同webservice,一台是备用机. 当主服务器崩溃之后会切换到备用机上, 那webservice的地址是本机ip和端口等信息组成的. 这时webservice客户端访问的应该是主机的地址,备用机的地址他不知道. 有没有方法可以让客户端访问时,如果主机不能访问,自动切换到备用机? 解决方案 用nginx负载均衡,当一台服务器挂掉的时候,不至于外网无法访问 解决方案二: 根据你的需求,是一个高可用问题,一

java中文乱码-java开发前端ftl页面上传一个中文的字段到java后台变成乱码!

问题描述 java开发前端ftl页面上传一个中文的字段到java后台变成乱码! 有没有比在后台写一些转换格式的代码更简单的方式?是不是我哪里的格式没有设置好? 解决方案 找到答案了.原来是我tomcat的编码格式没有设置成utf-8. 解决方案二: ftl文件默认的编码格式是GBK的,但是它输出的编码格式是utf-8的.中文就会显示乱码.在改变ftl文件的编码格式之前,将页面整个copy到txt文档中,然后改变编码格式之后,再将txt文件中的内容复制到原来的文件中. 解决方案三: 客户端 编码格