在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是否已经在集合中。如果已经访问过,则说明存在重定向循环,可以根据具体情况进行处理。