2012-04-05 41 views
0

我想創建一個WCF服務,它將基於請求中的「Accept」標頭返回Json和XML。我想使用XML序列化器,因爲我可以更好地控制xml輸出。爲了返回json,我需要使用數據合約序列化器。我發現無法配置兩者。有沒有人對我如何實現這個有任何想法?WCF服務支持數據協定序列化器和xml序列化器

感謝

回答

2

我從您想要創建一個REST API類型返回根據請求的頭,不使用SOAP的API XML或JSON你的問題的假設。我確信這在WCF中是可行的,但是您必須正確配置配置,並且無法找到正確配置的良好來源。網絡上有線索(like here),但沒有一個來源。我以爲我有一個例子運行,但似乎我最近做出的一些改變破壞了它。

WCF中的REST太難了。我的建議是使用ASP.NET Web API來構建REST服務。它是MVC 4.0的一部分,易於使用和配置。開箱即用,就像您希望REST API能夠工作一樣,並且會根據標題中的「接受」設置返回JSON或XML。請注意,此Microsoft產品的歷史記錄始於WCF REST Start Kit,後者隨後成爲WCF Web API,現在終於成爲ASP.NET Web API。如果你使用MVC挑選這是一件容易的事。