如何在REST WCF服务中使用#log作为url参数

时间:2010-10-29 10:44:32

标签: wcf

我有一个RESTFul WCF服务,网址喜欢这个

基团/ {组名} /成员信息

返回一个用户列表,这对普通的groupNames很好。但是当我使用带有特殊字符(例如#)的groupName时,不会返回任何内容 恩。 当网址

groups / c#/ members

从客户端调用

它只返回null。 我在服务代码中设置了一个断点,但服务的方法甚至都没有执行。(断点永远不会被击中)

此外,我尝试使用url编码将c#编码为c%23,但结果仍然相同。我尝试使用内置的VS 2010和IIS 7的Web服务器,但结果仍然相同。

我正在使用.NET 4.0 任何帮助将非常感谢

1 个答案:

答案 0 :(得分:0)

在网址中,哈希表示网址的结尾,其后面是对网页上特定部分的引用,因此网址/groups/c#/members被解释为网址/groups/c(然后浏览器会尝试将您带到名为"/members"的页面上的href。

基本上,您不应该将#作为动态网址中的字符。人们生成永久链接的原因只有字母数字字符用短划线分隔,这不仅仅是为了可读性/ SEO。有些字符是不允许的。您应该在应用程序中查看永久链接字段,以便您在页面上显示名称为c#的组,还可以使用名称为c-sharp的网址友好版本。