在C#中避免重定向循環(huán)的問題的一種常見方法是使用一個標(biāo)記來跟蹤已經(jīng)訪問過的URL,然后在每次重定向前檢查該標(biāo)記。以下是一個示例代碼:
public string GetRedirectedUrl(string url)
{
HashSet<string> visitedUrls = new HashSet<string>();
string currentUrl = url;
while (!visitedUrls.Contains(currentUrl))
{
visitedUrls.Add(currentUrl);
// 這里執(zhí)行重定向操作
// 如果需要重定向,更新currentUrl為新的URL
}
return currentUrl;
}
在上面的代碼中,我們使用一個HashSet來存儲已經(jīng)訪問過的URL,并在每次循環(huán)中檢查當(dāng)前URL是否已經(jīng)在集合中。如果已經(jīng)訪問過,則說明存在重定向循環(huán),可以根據(jù)具體情況進(jìn)行處理。