我在wcf webhttp服务中实现了自定义ServiceAuthorizationManager来进行api密钥验证。如果密钥无效,它会发送带有代码403的webfaultexception。
但问题是,当抛出异常时,它总是以xml的形式发送给客户端。
该服务同时接受JSON和XML,并且除了来自管理器的例外之外,它适用于所有其他操作。
无论我是否设置了接受标头或内容类型,结果始终是xml。但对于其他请求,响应类型根据内容类型标题
完美切换这是web.config
<standardEndpoint name="" helpEnabled="true" automaticFormatSelectionEnabled="true" />
任何帮助都非常适合。
答案 0 :(得分:0)
如果有其他人遇到此问题:看起来无法修复它。我所做的解决方案是在服务的构造函数中进行验证。确保将实例上下文模式设置为每次调用。
更多信息http://amilagm.com/2012/04/better-way-to-do-api-key-verification-in-wcf-webhttp-services/