如果没有URI中的最后一个斜杠,WCF REST Web服务不会处理发布请求

时间:2011-07-07 14:24:01

标签: asp.net wcf

我实现了如下的WCF REST api。

[WebInvoke(UriTemplate = "", Method = "POST")]
public string Create(Article article) { .. }

但是有问题。

如果我将此服务称为mydomain.com/articles/,则可以使用

但如果我在没有最后一个斜杠的情况下调用mydomain.com/articles,则返回HTTP响应代码307,临时重定向。

如何让两个URI都能正常工作,或者我的建议是否有任何错误?

1 个答案:

答案 0 :(得分:1)

您可以通过几种不同的方式将文章重定向到/ articles /。您的UriTemplate与“/”条目不匹配。 ScottGu对url操作方法有a whole article,我认为其中任何一个都适合你。它包括iis7重写模块(如果您没有iis7,则使用第三方工具,如ISAPI_Rewrite),以及一些在代码中处理它的方法。您可以使用方法#2在代码中明确重写。或者您甚至可以使用不同的UriTemplates创建两个单独的方法,一个用于“”,一个用于“/”。