2017-09-01 55 views
0

我創建了一個Azure C#HTTP觸發函數,其路由url:subscriptions/{token}/t。它適用於諸如subscriptions/blah/t之類的網址,但對於包含編碼斜線的參數而言,它會失敗,並顯示404。任何方式在這個?HTTP觸發天青功能不會綁定具有編碼斜線的路由參數

在我們討論之前,{token}是一個URL編碼的Base64字符串,它自然會包含斜槓。

回答

0

但是對於包含編碼斜線的參數404:subscriptions/blah%2fblah/t,它失敗。

這很有意義,因爲'subscriptions/blah%2fblah/t'等於'subscriptions/blah/blah/t'。我建議你定義你自己的斜線編碼規則。例如,您可以將所有斜槓轉換爲'[[ - ]]'。您的代幣將如此'訂閱/等等[[ - ]]等等。收到令牌後,您可以將特殊字符轉換回來。

token = token.Replace("[[-]]", "/"); 
+0

同意,但除了確保它按照我的動作/函數(使用斜線...)之外,編碼參數的目的是什麼? –

+0

您的令牌中有多少個斜槓?這是一個固定大小?如果是的話,你可以修改你的路由URL以匹配它。否則,您需要使用自己的方式對令牌進行編碼。 – Amor

+0

有沒有更新?如果您還有其他問題,請隨時通知我。 – Amor