关于C#的WEB Service的奇怪问题!!!!

holydiablo 2005-04-04 07:06:48
今天碰到了一个很奇怪的问题,在通过C#写的WEB SERVICE传送带\r\n的字符串时,\r就被吃掉了

举个例子 我们建立一个最简单的Web Service 函数

[WebMethod]
public string Test2()
{
return "你好\r\n呵呵";
}

而在调用这个方法后得到的却是 "你好\n呵呵",也就是说\r被webservice 吃掉了,反过来把这个字符串当参数传送的时候 \r 也会被吃掉,实在是个非常严重的BUG了

而经过测试,用VB写的Web Service 就不存在这个问题,不知道哪位大侠也碰到这种问题,如果有解决方案敬请提点,多谢了
...全文
135 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
i三千 2005-04-04
  • 打赏
  • 举报
回复
up
holydiablo 2005-04-04
  • 打赏
  • 举报
回复
果然没有好办法.....
redlotoc 2005-04-04
  • 打赏
  • 举报
回复
@或者\\转义,这就是语法。你就努力的该吧
holydiablo 2005-04-04
  • 打赏
  • 举报
回复
那就把实际情况说一下吧

我们通过WEB Service 来传递数据并保存到数据中

在客户端有多行文本框,这些数据直接作为字符串传递给web Service 函数,而这样的情况是不少的,这个\r\n是多行文本框里敲回车生成的,那么再通过Web Service传送后就保存到数据库中了,如果按这种转义的方法来做,在每次调用和读取的时候都得转换一次,先不考虑效率问题,光是这些改动就得死人了,所以就想想问问是不是有什么办法可以直接解决这个问题
Ivony 2005-04-04
  • 打赏
  • 举报
回复
一直没搞懂你到底需要什么?
\r是换行\n是回车。

在VB里面,\不是转义字符,所以你传"\r\n"过去还是"\r\n"在C#里面就是"\\r\\n"或者@"\r\n"。

况且,VB里面好像没有\r这个东西。


所以,实在是弄不懂你到底要什么,如果是需要"\\r\\n"或者@"\r\n"这样的结果,那么这是C#的基础知识。。。。无语中。。。。。。
holydiablo 2005-04-04
  • 打赏
  • 举报
回复
除此之外么有其他的办法了吗
这样的地方在我们的程序中太多了
如果都这么搞,几乎无法几乎
bitsbird 2005-04-04
  • 打赏
  • 举报
回复
替换一下就可以了\r \\r
holydiablo 2005-04-04
  • 打赏
  • 举报
回复
我们的工程很大
这样的转义禁掉还得再去掉,要动的手脚太大了
并不合适
gdami 2005-04-04
  • 打赏
  • 举报
回复
加个@
Restore 2005-04-04
  • 打赏
  • 举报
回复
同意楼上的
huangsuipeng 2005-04-04
  • 打赏
  • 举报
回复
禁了转意,如楼上
langmafeng 2005-04-04
  • 打赏
  • 举报
回复
[WebMethod]
public string Test2()
{
return @"你好\r\n呵呵";
}

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧