2009-07-16 51 views
0

我們正在.Net中開發一個Web服務,我們的客戶希望服務的響應以UTF-8以外的方式進行編碼。可能嗎?如何在.Net中更改Web服務的編碼?

This page似乎表明這是不可能的,但我想第二個意見。

該服務是一個asmx web服務。我們正在考慮切換到WCF,如果這是唯一的出路,但我們希望將這一變更所需的努力降到最低。

回答

1

如果你使用WCF(你應該;)),那麼它在配置指定textEncoding類型一樣簡單:

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

工作正常爲UTF-8和UTF-16 - 但如果你需要使用例如ISO-8859-1(ISO西歐),你運氣不好。你必須編寫你自己的自定義文本編碼器(這很容易做到)並將其作爲擴展插入到WCF中。 – 2009-07-16 13:01:34