2011-02-16 77 views
1

當我通過JsonDataContractCodec OpenRasta返回我的對象​​作爲JSON設置Content-Type頭,以如何設置Content-Type頭的字符集在OpenRasta

應用/ JSON

,但忽略了內容的字符集的一部分類型。

當我使用鉻它發送GET與如下因素頭請求:

接收字符集:窗口-1251,UTF-8,Q = 0.7,*; Q = 0.3

和我的所有utf-8編碼的json對象都出錯了。

我試圖覆蓋OperationResult沒有運氣。 OpenRasta用編解碼器覆蓋我的頭文件。

回答

0

只是找到了一種方法 - 從JsonCoder繼承和應用MediaTypeAttribute

[MediaType("application/json; charset=utf8")] 
public class JsonWithEncoding:JsonDataContractCodec 
{ 

} 

並與註冊的處理程序:

ResourceSpace.Has 
    .ResourcesOfType<IEnumerable<ProfileResource>>() 
    .AtUri("/profiles") 
    .HandledBy<ProfileHandler>() 
    .TranscodedBy<JsonWithEncoding>(); 

但這種方式很靜:(

+2

你也可以使用.ForMediaType覆蓋編解碼器註冊,這將添加正確的條目,並忽略該屬性。 – SerialSeb 2011-02-22 14:53:10

相關問題