使用WCF API验证内容类型

时间:2016-08-02 17:49:24

标签: c# asp.net wcf

我正在尝试验证请求是我们api的json或xml数据。我知道我可以按照

的方式做点什么
if (!( request.ContentType.Equals("text/json", StringComparison.InvariantCultureIgnoreCase) || request.ContentType.Equals("text/xml", StringComparison.InvariantCultureIgnoreCase)))
    //throw error here

但是,我想知道是否有更好的方法来做到这一点。我读到了有关内容管理的内容,但我发现的所有内容似乎都适用于web api。

为了举例说明为什么我不喜欢这种方法,我们的一个客户端传入text / xml; charset = UTF-8,另一个传递text / xml 我可以为所有这些建立检查,但我想知道.net是否有任何内置为此。我不想要硬编码新的东西,每一个新的场景出现。

1 个答案:

答案 0 :(得分:0)

如果你想坚持一个WCF实现,你有两个选择。

1-为WCF服务定义多个端点。一个用于SOAP / XML,另一个用于REST / JSON(推荐):REST / SOAP endpoints for a WCF service

2-定义一个端点,但明确处理不同的内容类型:WCF Service contract to be both XML and Json serialized