2010-10-29 60 views
0

我有一個URL一個RESTful WCF服務很喜歡這個如何使用#號作爲REST WCF服務的URL參數

組/ {組名} /件

返回用戶的列表這適用於正常的groupNames。但是,當我使用一個特殊的字符組(如#)沒有任何返回 前。 當URL

組/ C#/會員

從客戶端調用它只返回null。 (斷點從未被擊中)

另外我嘗試使用url編碼將c#編碼爲c%23,但結果仍然是相同。我用VS 2010和IIS 7的內置Web服務器嘗試了這一點,但結果仍然相同。

,我使用.NET 4.0 任何幫助將是非常讚賞

回答

0

在URL中的散列表示URL的末端,接下來是在頁面上特定部分的參考,所以網址/groups/c#/members被解釋爲URL /groups/c(然後瀏覽器嘗試帶你到一個名爲"/members"頁面上的HREF。

基本上,你不應該允許#在動態URL的一個角色。這是有原因的人產生永久鏈接只有用破折號分隔的字母數字字符,它不僅僅是爲了可讀性/ SE O.一些簡單的字符是不允許的。您應該查看應用程序中的固定鏈接字段,以便可能會在頁面上顯示名稱爲c#的名稱,但也可以使用名稱爲c-sharp的網址友好版本。

+0

該字符串的url編碼是一個很好的嘗試,但瀏覽器將編碼版本和未編碼版本完全相同,就我描述的行爲而言。 – Jeremy 2010-10-29 11:18:50