I am tring to clear caches of client's all browsers using asp.net application on button click. Its working fine when we running it from visual studio. But the problem is when we host our application into IIS, its become not working.
Here is code, I used to clear caches of client's browser
[WebMethod]
public static string DoClearCache()
{
HttpContext.Current.Session.Abandon();
HttpContext.Current.Session["AEmail"] = null;
HttpContext.Current.Session.Clear();
ClearCaches();
clearchachelocalall();
return null;
}
public static void ClearCaches()
{
HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
HttpContext.Current.Response.Cache.SetExpires(DateTime.Now);
//HttpContext.Current.Response.Cache.SetNoServerCaching();
//HttpContext.Current.Response.Cache.SetNoStore();
HttpContext.Current.Response.Cookies.Clear();
HttpContext.Current.Request.Cookies.Clear();
}
private static void clearchachelocalall()
{
string GooglePath = Environment.GetEnvironmentVariable("USERPROFILE") + @"\AppData\Local\Google\Chrome\User Data\Default\";
string MozilaPath = Environment.GetEnvironmentVariable("USERPROFILE") + @"\AppData\Roaming\Mozilla\Firefox\";
string Opera1 = Environment.GetEnvironmentVariable("USERPROFILE") + @"\AppData\Local\Opera\Opera";
string Opera2 = Environment.GetEnvironmentVariable("USERPROFILE") + @"\AppData\Roaming\Opera\Opera";
string Safari1 = Environment.GetEnvironmentVariable("USERPROFILE") + @"\AppData\Local\Apple Computer\Safari";
string Safari2 = Environment.GetEnvironmentVariable("USERPROFILE") + @"\AppData\Roaming\Apple Computer\Safari";
string IE1 = Environment.GetEnvironmentVariable("USERPROFILE") + @"\AppData\Local\Microsoft\Intern~1";
string IE2 = Environment.GetEnvironmentVariable("USERPROFILE") + @"\AppData\Local\Microsoft\Windows\History";
string IE3 = Environment.GetEnvironmentVariable("USERPROFILE") + @"\AppData\Local\Microsoft\Windows\Tempor~1";
string IE4 = Environment.GetEnvironmentVariable("USERPROFILE") + @"\AppData\Roaming\Microsoft\Windows\Cookies";
string Flash = Environment.GetEnvironmentVariable("USERPROFILE") + @"\AppData\Roaming\Macromedia\Flashp~1";
//Call This Method ClearAllSettings and Pass String Array Param
ClearAllSettings(new string[] { GooglePath, MozilaPath, Opera1, Opera2, Safari1, Safari2, IE1, IE2, IE3, IE4, Flash });
}
public static void ClearAllSettings(string[] ClearPath)
{
foreach (string HistoryPath in ClearPath)
{
if (Directory.Exists(HistoryPath))
{
DoDelete(new DirectoryInfo(HistoryPath));
}
}
}
public static void DoDelete(DirectoryInfo folder)
{
try
{
foreach (FileInfo file in folder.GetFiles())
{
try
{
file.Delete();
}
catch
{ }
}
foreach (DirectoryInfo subfolder in folder.GetDirectories())
{
DoDelete(subfolder);
}
}
catch
{
}
}
I'm really looking for your valuable suggestions.