当我的VPN客户端连接到我的VPN服务器时,它将创建一个.PBK连接,但是当我尝试与另一个IP创建另一个连接时,它会抛出
System.ArgumentException: 'ConnectionName' already exists in the phone book.
我知道每次尝试连接时都可以创建不同的连接名称,但是随着时间的流逝,不必要的连接会过多,如何通过DotRas或手动删除连接?
此文件夹是完全清楚的。不知道该怎么办。
%AppData%\Roaming\Microsoft\Network\Connections\Pbk
答案 0 :(得分:0)
找到了我问题的答案。如果您这样声明条目:
RasEntry entry = RasEntry.CreateVpnEntry(EntryName, ip, RasVpnStrategy.Default,
RasDevice.GetDeviceByName("(PPTP)", RasDeviceType.Vpn));
您需要使用Remove()
方法:
this.AllUsersPhoneBook.Entries.Remove(Entry);
答案 1 :(得分:0)
RasCollection
是RasPhoneBook.Entries
,它提供了几种可以使用的方法。最后是ICollection
/ IEnumerable
。
...
public abstract class RasCollection<TObject> : MarshalByRefObject, ICollection<TObject>, IEnumerable<TObject>, IEnumerable where TObject : class
{
...
public int Count { get; }
...
public void Add(TObject item);
public void Clear();
public bool Contains(TObject item);
...
...
public int IndexOf(TObject item);
public bool Remove(TObject item);
public void RemoveAt(int index);
...
}
要删除项目,可以使用给定Remove()
的{{1}},给定索引的RasEntry
或RemoveAt()
删除所有内容。
此外,Clear()
提供了RasEntryCollection
,用户可以使用它删除具有指定名称的条目。
来源:我最近需要创建一个VPN软件。缺少文档没有帮助。