方法有两种:
1、是调用命令行(最次的办法,当然胜在家喻户晓;稍微懂点PC的人基本都知道
ipconfig /flushdns 命令行调用一般有两种办法:用 system(std-c库)或者 CreateProcess、ShellExecute 方式(C# 通常是调用 .NET 基础框架函数库之中的 “Process”)但是缺点是占用系统资源大,很容易卡住系统前台。
2、是调用WINAPI(对于一名合格的 WIN 平台的开发人员而言,这才是基本操作)
DnsFlushResolverCache() 函数调用不需要具有 “管理员级别的权限”
[DllImport("Dnsapi.dll", SetLastError = true)]
[return: MarshalAs(UnmanagedType.Bool)]
private static extern bool DnsFlushResolverCache();
public static bool Flush()
{
if (Environment.OSVersion.Platform != PlatformID.Win32NT)
{
return false;
}
if (!DnsFlushResolverCache())
{
return Environments.ExecuteCommands("ipconfig /flushdns");
}
return false;
}