WCF服务应该只允许自定义动词

时间:2017-05-10 05:16:04

标签: c# web-services wcf

我在wcf服务中工作,这应该只允许一些自定义动词。 我在接口上使用[WebInvoke(UriTemplate = "/path", Method = "VERB", ResponseFormat = WebMessageFormat.Xml, RequestFormat = WebMessageFormat.Xml, BodyStyle = WebMessageBodyStyle.Bare)]来接收请求。 我的需求是服务应该只允许方法=" VERB" ,对于其他方法,它应该返回 405 作为错误。除了方法=" GET" 之外,它适用于所有请求。我想为" GET" 返回 405

1 个答案:

答案 0 :(得分:1)

我创建了一个测试项目并检查了您的问题。我指定了Method = "VERB",它运行得很好。服务拒绝所有其他方法(包括GET)。但是如果你想完全控制我建议使用Method = "*",然后拒绝所有其他无效的方法:

if (!HttpContext.Current.Request.HttpMethod.Equals("VERB", StringComparison.OrdinalIgnoreCase)) 
    return 405;