添加电话簿条目时,DotRas未经授权访问异常

时间:2013-04-08 11:55:56

标签: asp.net usb 3g modem ras

我正在使用dotras dll开发应用程序。在应用程序中,我的主要目标是使用3g USB调制解调器连接到互联网。我在下面添加我的代码:

    RasPhoneBook book = new RasPhoneBook();
    book.Open();
    dialer = new RasDialer();
    dialer.StateChanged += new EventHandler<StateChangedEventArgs>  (dialer_StateChanged);
    RasDevice device = RasDevice.GetDeviceByName("ZTE", RasDeviceType.Modem);
    RasEntry entry = RasEntry.CreateDialUpEntry("MyEntry", "*99#", device);
    entry.EncryptionType = RasEncryptionType.Optional;
    entry.Options.ModemLights = true;
    entry.NetworkProtocols.IP = true;
    entry.NetworkProtocols.Ipx = false;
    book.Entries.Add(entry);
    dialer.PhoneBookPath = book.Path;
    dialer.EntryName = "MyEntry";
    dialer.Dial();

当我尝试添加电话簿时,我的条目会返回异常:

UnauthorizedAccessException was Unhandled

调用者没有执行请求操作所需的权限。

我是DotRas的新手。那么在电话簿中添加条目需要哪些权限?

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我找到了答案。我需要提升应用程序权限的原因是应用程序打开了所有用户的个人资料电话簿。这是通过我对book.Open()

的调用表明的

如果您遇到这样的问题,请记住您始终可以将电话簿存储在应用程序旁边,这样就无需提升权限。

代码应为:

           RasPhoneBook book = new RasPhoneBook();
           book.Open(".\\MyAppPhoneBook.pbk");