我有一个RESTFul WCF服务,网址喜欢这个
基团/ {组名} /成员信息
返回一个用户列表,这对普通的groupNames很好。但是当我使用带有特殊字符(例如#)的groupName时,不会返回任何内容 恩。 当网址
groups / c#/ members
从客户端调用它只返回null。 我在服务代码中设置了一个断点,但服务的方法甚至都没有执行。(断点永远不会被击中)
此外,我尝试使用url编码将c#编码为c%23,但结果仍然相同。我尝试使用内置的VS 2010和IIS 7的Web服务器,但结果仍然相同。
我正在使用.NET 4.0 任何帮助将非常感谢
答案 0 :(得分:0)
在网址中,哈希表示网址的结尾,其后面是对网页上特定部分的引用,因此网址/groups/c#/members
被解释为网址/groups/c
(然后浏览器会尝试将您带到名为"/members"
的页面上的href。
基本上,您不应该将#
作为动态网址中的字符。人们生成永久链接的原因只有字母数字字符用短划线分隔,这不仅仅是为了可读性/ SEO。有些字符是不允许的。您应该在应用程序中查看永久链接字段,以便您在页面上显示名称为c#
的组,还可以使用名称为c-sharp
的网址友好版本。