2

当我的 VPN 客户端连接到我的 VPN 服务器时,它会创建一个 .PBK 连接,但是当我尝试与另一个 IP 创建另一个连接时,它会抛出我

System.ArgumentException: 'ConnectionName' already exists in the phone book.

我知道每次尝试连接时我都可以创建不同的连接名称,但是随着时间的推移会有太多不必要的连接,如何通过 DotRas 或手动删除我的连接?

这个文件夹是完全清楚的。不知道该怎么办。

%AppData%\Roaming\Microsoft\Network\Connections\Pbk
4

2 回答 2

0

找到了我的问题的答案。如果您这样声明您的条目:

RasEntry entry = RasEntry.CreateVpnEntry(EntryName, ip, RasVpnStrategy.Default,
RasDevice.GetDeviceByName("(PPTP)", RasDeviceType.Vpn));

您需要使用Remove()方法:

this.AllUsersPhoneBook.Entries.Remove(Entry);
于 2018-12-11T19:09:23.137 回答
0

A 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()给定 a RasEntryRemoveAt()给定索引或Clear()删除所有内容。

此外,RasEntryCollection提供public bool Remove(string name)可用于删除给定名称的条目。

资料来源:我最近需要创建一个 VPN 软件。缺乏文档并没有帮助。

于 2020-09-28T04:18:04.427 回答