欢迎光临
我们一直在努力

WebService Behavior的一个中文Bug-.NET教程,Web Service开发

建站超值云服务器,限时71元/月

开心记得上次我做试验的时候,好象中文传输是有一些问题。<br>

我忘了是在哪一个阶段用的了,反正在使用某个方法的时候是出了问题。<br>

对了,想起来了。<br>

如下有一个web method<br>

[web method]<br>

public string test(string x)<br>

{<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//此处代码省略,将x值记录到服务器端的一个文件中<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;…<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return x;<br>

}<br>

然后在客户端调用,并且传递一个中文字符或者其它特殊字符,如&quot;\\&quot;等给它,在返回到客户端可以看到其是正确的,但是,你如果打开它存在服务器端的那个文件,就会发现里面存的是一个乱码。<br>

开心想了半天,后来找到一个解决方案,对x进行urldecode就可以了。<br>

然后再在服务器端对其进行判断。<br>

比如,开心做聊天室,想判断其发言是否含有“靠”,“我 靠”这样的不雅字眼,<br>

[webmethod]<br>

public string inputwhatyousay(string isay)<br>

{<br>

&nbsp;&nbsp;&nbsp;//label<br>

&nbsp;&nbsp;&nbsp;&nbsp;if(isay.indexof(&quot;靠&quot;)!=0)<br>

&nbsp;&nbsp;&nbsp;{<br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &quot;该发言中有不当言语&quot;;<br>

&nbsp;&nbsp;&nbsp;&nbsp;}<br>

&nbsp;&nbsp;&nbsp;&nbsp;else<br>

&nbsp;&nbsp;&nbsp;{ <br>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return isay;<br>

&nbsp;&nbsp;&nbsp;}<br>

}<br>

这样的话你可以试一下,无论你在客户端输入多少个“靠”,根本不管用,人家不理你,还是原样返回到客户端,但是,如果你在我程序中的“//label&quot;处增加一行代码<br>

isay=server.urldecode(isay);<br>

则一切正常了:)<br>

<br>

这只是一个临时的解决办法,估计这也是微软的一个bug。等他们下一版本中改正吧。

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » WebService Behavior的一个中文Bug-.NET教程,Web Service开发
分享到: 更多 (0)