C# 清除浏览器Cookie c时出错#

C# 清除浏览器Cookie c时出错#,c#,watin,C#,Watin,我想清除IE中的所有cookie,代码如下: public void ClearCookie() { string[] Cookies = System.IO.Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.InternetCache)); foreach (string currentFile in Cookies) {

我想清除IE中的所有cookie,代码如下:

public void ClearCookie()
    {
        string[] Cookies =
            System.IO.Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.InternetCache));
        foreach (string currentFile in Cookies)
        {
            try
            {
                System.IO.File.Delete(currentFile);
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }
但当我运行时,出现一个消息框,内容为:进程无法访问文件:C:\User…\Microsoft\Windows\Temporary internetfiles\counter.dat',因为另一个进程正在使用它
我应该怎么做才能解决这个问题呢?

您可以专注于指定准确的错误类型,而不是捕获常规异常,如:

试试看
{
文件。删除(当前文件);
}
捕获(IOEX异常)
{
//文件已锁定、正在使用或在另一个应用程序中有打开的句柄
//所以跳过它
}
捕获(未经授权的访问例外)
{
//您没有删除该文件的权限
}

这将更好地说明如何处理可能发生的各种文件IO异常。另外,请查看此方法可能引发的不同类型错误的更多信息。

谢谢,伙计,它已修复。但在我清除Cookie后,我登录到一个网站,密码仍然是自动填充的。我想知道cookie是否还没有被删除???凭据不应该存储在cookie中,但主要是以不同的、更安全的方式存储在每个浏览器中。因此,删除临时互联网文件并不等于清除整个浏览器的历史记录。哦,真的,你能告诉我如何通过代码清除所有历史记录吗?我实际上想知道这是一个不同的问题,我建议你在新的线程中尽可能聪明地提问。