如何在.Net中更改web服务的编码?

如何在.Net中更改web服务的编码?,.net,web-services,encoding,.net,Web Services,Encoding,我们正在.Net中开发一个web服务,我们的客户希望该服务的响应编码为UTF-8以外的格式。可能吗 似乎表明这是不可能的,但我想听听第二种意见 该服务是一个asmx Web服务。如果这是唯一的方法,我们正在考虑切换到WCF,但我们希望将此更改所需的工作量保持在最低限度。如果您使用的是WCF(您应该是;),则只需在配置中指定textcodeding类型即可: <bindings> <basicHttpBinding> <binding name="MyWe

我们正在.Net中开发一个web服务,我们的客户希望该服务的响应编码为UTF-8以外的格式。可能吗

似乎表明这是不可能的,但我想听听第二种意见

该服务是一个asmx Web服务。如果这是唯一的方法,我们正在考虑切换到WCF,但我们希望将此更改所需的工作量保持在最低限度。

如果您使用的是WCF(您应该是;),则只需在配置中指定
textcodeding
类型即可:

<bindings>
  <basicHttpBinding>
    <binding name="MyWebBinding" textEncoding="utf-16" />
  </basicHttpBinding>
</bindings>


这对utf-8和utf-16很有效-但如果您需要使用例如ISO-8859-1(ISO西欧标准),那就太不走运了。您必须编写自己的自定义文本编码器(这相当容易),并将其作为扩展插件插入WCF。我们现在不使用WCF,但如果这是唯一的方法,我们可能会切换到它。尽管如此,我们还是更喜欢使用ASMXWeb服务的解决方案。