首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止.Net SOAP序列化吞噬NewLines

如何防止.Net SOAP序列化吞噬NewLines
EN

Stack Overflow用户
提问于 2010-12-22 21:28:47
回答 3查看 2.7K关注 0票数 2

我通过Visual Studio从WSDL生成的包装类来使用.Net中的内置SOAP支持。

现在,当我调用包装器上的一个方法并传递一个包含带有CRLF (\r\n)的字符串的对象时,只有LF (\n)将在服务器上结束。同样的事情也会发生,反之亦然。当服务器发送包含CRLF的字符串时,包装器将只输出LF。

我知道这是一个通常可以通过向XmlSerializer提供自己的XmlWriter来避免的问题,但是我找不到一个地方可以在所提供的框架中指定任何类似的东西。

我几乎想使用this thread中提供的RegEx解决方案,但我很难相信没有任何东西可以防止这个问题。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-12-20 07:26:27

为了完整起见,我没有找到一个解决方案来提供我正在寻找的东西。因此,对于我的情况,最好的解决方案是使用this answer中提出的解决方案。

票数 2
EN

Stack Overflow用户

发布于 2010-12-22 21:33:47

摘自here

代码语言:javascript
复制
    XmlWriterSettings ws = new XmlWriterSettings();
    ws.NewLineHandling = NewLineHandling.Entitize;

    XmlSerializer ser = new XmlSerializer( typeof( Abc ) );
    using (XmlWriter wr = XmlWriter.Create( "abc.xml", ws ))
    {
        ser.Serialize( wr, s );
    }
票数 0
EN

Stack Overflow用户

发布于 2011-12-13 00:34:21

使用SoapExtension转义流向服务(SoapMessageStage.AfterSerialize)的流中的回车。

This answer指出了一个很好的资源来解释SOAP内容的how to implement one on v1.1;其他的例子是将ProcessMessage覆盖到remove invalid XML characterslog the entire SOAP conversation。(配置涉及将扩展与web引用关联的SoapExtensionAttribute,通常在web.config中设置。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4509630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档