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