textEncoding和messageEncoding之间的概念差异

时间:2014-11-30 08:44:56

标签: wcf

WCF中与编码相关的绑定有2个设置。有人可以解释这两个设置之间的概念差异吗?

enter image description here

谢谢!

1 个答案:

答案 0 :(得分:1)

MSDN声明如下:

TextEncoding:获取或设置用于消息文本的字符编码。

MessageEncoding:获取或设置是否使用MTOM或Text / XML对SOAP消息进行编码。

所以第一个(textEncoding)指的是消息中字符的编码,第二个(messageEncoding)指定SOAP消息是编码为文本还是MTOM(机器传输)优化机制)。

textEncoding允许您指定SOAP消息的 text 的特定字符集编码,与messageEncoding设置的内容无关。对于messageEncoding,MTOM用于“在SOAP信封的上下文中有效编码二进制XML元素”,而Text用于互操作目的。

textEncoding的默认设置为UTF8EncodingmessageEncoding的默认设置为Text

textEncoding列出的其他选项包括:

  • ASCIIEncoding
  • UnicodeEncoding
  • UTF32Encoding
  • UTF7Encoding